Bug 831921 - Make the plugin UI less broken-looking for all plugins except for crashed plugins, including visual tweaks by shorlander. r=jaws
authorBenjamin Smedberg <benjamin@smedbergs.us>
Wed, 06 Feb 2013 15:11:36 -0500
changeset 121053 187e78781793
parent 121052 e913428a6628
child 121054 2308bb67a6fa
push id24272
push userryanvm@gmail.com
push dateThu, 07 Feb 2013 02:00:33 +0000
treeherdermozilla-central@4a6b8dd4dfe3 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersjaws
bugs831921
milestone21.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 831921 - Make the plugin UI less broken-looking for all plugins except for crashed plugins, including visual tweaks by shorlander. r=jaws
browser/base/content/browser-plugins.js
browser/locales/en-US/chrome/browser/browser.properties
toolkit/locales/en-US/chrome/mozapps/plugins/plugins.dtd
toolkit/mozapps/plugins/content/pluginProblem.xml
toolkit/themes/pinstripe/mozapps/jar.mn
toolkit/themes/pinstripe/mozapps/plugins/contentPluginClickToPlayPlain.png
toolkit/themes/pinstripe/mozapps/plugins/contentPluginClose.png
toolkit/themes/pinstripe/mozapps/plugins/pluginProblem.css
toolkit/themes/winstripe/mozapps/jar.mn
toolkit/themes/winstripe/mozapps/plugins/contentPluginClickToPlayPlain.png
toolkit/themes/winstripe/mozapps/plugins/contentPluginClose.png
toolkit/themes/winstripe/mozapps/plugins/pluginProblem.css
--- a/browser/base/content/browser-plugins.js
+++ b/browser/base/content/browser-plugins.js
@@ -204,17 +204,17 @@ var gPluginHandler = {
         this.addLinkClickCallback(updateLink, "openPluginUpdatePage");
         /* FALLTHRU */
 
       case "PluginVulnerableNoUpdate":
       case "PluginClickToPlay":
         this._handleClickToPlayEvent(plugin);
         let overlay = doc.getAnonymousElementByAttribute(plugin, "class", "mainBox");
         let pluginName = this._getPluginInfo(plugin).pluginName;
-        let messageString = gNavigatorBundle.getFormattedString("PluginClickToPlay", [pluginName]);
+        let messageString = gNavigatorBundle.getFormattedString("PluginClickToActivate", [pluginName]);
         let overlayText = doc.getAnonymousElementByAttribute(plugin, "class", "msg msgClickToPlay");
         overlayText.textContent = messageString;
         if (eventType == "PluginVulnerableUpdatable" ||
             eventType == "PluginVulnerableNoUpdate") {
           let vulnerabilityString = gNavigatorBundle.getString(eventType);
           let vulnerabilityText = doc.getAnonymousElementByAttribute(plugin, "anonid", "vulnerabilityStatus");
           vulnerabilityText.textContent = vulnerabilityString;
         }
@@ -447,17 +447,17 @@ var gPluginHandler = {
       objLoadingContent.playPlugin();
       return;
     }
 
     if (overlay) {
       overlay.addEventListener("click", function(aEvent) {
         // Have to check that the target is not the link to update the plugin
         if (!(aEvent.originalTarget instanceof HTMLAnchorElement) &&
-            !(aEvent.originalTarget instanceof HTMLButtonElement) &&
+            (aEvent.originalTarget.getAttribute('anonid') != 'closeIcon') &&
             aEvent.button == 0 && aEvent.isTrusted) {
           gPluginHandler.activateSinglePlugin(aEvent.target.ownerDocument.defaultView.top, aPlugin);
           aEvent.stopPropagation();
           aEvent.preventDefault();
         }
       }, true);
 
       let closeIcon = doc.getAnonymousElementByAttribute(aPlugin, "anonid", "closeIcon");
--- a/browser/locales/en-US/chrome/browser/browser.properties
+++ b/browser/locales/en-US/chrome/browser/browser.properties
@@ -120,17 +120,17 @@ carbonFailurePluginsMessage.restartButto
 activatePluginsMessage.message=Would you like to activate the plugins on this page?
 activateAllPluginsMessage.label=Activate All Plugins
 activatePluginsMessage.accesskey=A
 activatePluginsMessage.always=Always activate plugins for this site
 activatePluginsMessage.always.accesskey=c
 activatePluginsMessage.never=Never activate plugins for this site
 activatePluginsMessage.never.accesskey=N
 activateSinglePlugin=Activate
-PluginClickToPlay=Click here to activate the %S plugin.
+PluginClickToActivate=Activate %S.
 # LOCALIZATION NOTE - "vulnerable" indicates there is a security bug in the
 # plugin that is being exploited by attackers.
 PluginVulnerableUpdatable=This plugin is vulnerable and should be updated.
 PluginVulnerableNoUpdate=This plugin has security vulnerabilities.
 vulnerableUpdatablePluginWarning=Outdated Version!
 vulnerableNoUpdatePluginWarning=Vulnerable Plugin!
 vulnerablePluginsMessage=Some plugins have been deactivated for your safety.
 pluginInfo.unknownPlugin=Unknown
--- a/toolkit/locales/en-US/chrome/mozapps/plugins/plugins.dtd
+++ b/toolkit/locales/en-US/chrome/mozapps/plugins/plugins.dtd
@@ -30,17 +30,17 @@
      supported on this device. Use the unicode ellipsis char, \u2026, or use "..." if \u2026 doesn't suit traditions in your locale. -->
 <!ENTITY unsupportedPlatform.learnMore                       "Learn More…">
 <!-- LOCALIZATION NOTE (unsupportedPlatform.post): Mobile only. Include text here if needed for your locale. -->
 <!ENTITY unsupportedPlatform.post                            "">
 
 <!ENTITY missingPlugin                                       "A plugin is needed to display this content.">
 <!-- LOCALIZATION NOTE (tapToPlayPlugin): Mobile (used for touch interfaces) only has one type of plugin possible. -->
 <!ENTITY tapToPlayPlugin                                     "Tap here to activate plugin.">
-<!ENTITY clickToPlayPlugin                                   "Click here to activate plugin.">
+<!ENTITY clickToActivatePlugin                               "Activate plugin.">
 <!ENTITY checkForUpdates                                     "Check for updates…">
 <!ENTITY disabledPlugin                                      "This plugin is disabled.">
 <!ENTITY blockedPlugin.label                                 "This plugin has been blocked for your protection.">
 
 <!ENTITY installPlugin                                       "Install plugin…">
 <!ENTITY managePlugins                                       "Manage plugins…">
 
 <!-- LOCALIZATION NOTE (reloadPlugin.pre): include a trailing space as needed -->
@@ -53,9 +53,9 @@
 <!ENTITY report.please                                       "Send crash report">
 <!ENTITY report.submitting                                   "Sending report…">
 <!ENTITY report.submitted                                    "Crash report sent.">
 <!ENTITY report.disabled                                     "Crash reporting disabled.">
 <!ENTITY report.failed                                       "Submission failed.">
 <!ENTITY report.unavailable                                  "No report available.">
 
 <!ENTITY plugin.file                                         "File">
-<!ENTITY plugin.mimeTypes                                    "MIME Types">
\ No newline at end of file
+<!ENTITY plugin.mimeTypes                                    "MIME Types">
--- a/toolkit/mozapps/plugins/content/pluginProblem.xml
+++ b/toolkit/mozapps/plugins/content/pluginProblem.xml
@@ -19,47 +19,51 @@
     <resources>
         <stylesheet src="chrome://mozapps/content/plugins/pluginProblemContent.css"/>
         <stylesheet src="chrome://mozapps/skin/plugins/pluginProblem.css"/>
     </resources>
 
     <content>
         <xul:vbox class="mainBox" flex="1" chromedir="&locale.dir;">
             <html:button class="closeIcon" anonid="closeIcon"/>
-            <xul:spacer flex="1"/>
-            <xul:box class="icon"/>
-            <html:div class="msg msgUnsupported">&missingPlugin;</html:div>
-            <html:div class="msg msgUnsupportedPlatform">&unsupportedPlatform.pre;<html:a class="unsupportedLearnMoreLink" href="" target="_blank">&unsupportedPlatform.learnMore;</html:a>&unsupportedPlatform.post;</html:div>
-            <html:div class="msg msgTapToPlay">&tapToPlayPlugin;</html:div>
-            <html:div class="msg msgVulnerabilityStatus" anonid="vulnerabilityStatus"><!-- set at runtime --></html:div>
-            <html:div class="msg msgCheckForUpdates"><html:a class="checkForUpdatesLink" href="">&checkForUpdates;</html:a></html:div>
-            <html:div class="msg msgClickToPlay">&clickToPlayPlugin;</html:div>
-            <html:div class="msg msgDisabled">&disabledPlugin;</html:div>
-            <html:div class="msg msgBlocked">&blockedPlugin.label;</html:div>
-            <html:div class="msg msgCrashed"><!-- set at runtime --></html:div>
+            <xul:vbox class="hoverBox" flex="1">
+                <xul:spacer flex="1"/>
+                <html:div>
+                    <html:button class="icon"/>
+                </html:div>
+                <html:div class="msg msgUnsupported">&missingPlugin;</html:div>
+                <html:div class="msg msgUnsupportedPlatform">&unsupportedPlatform.pre;<html:a class="unsupportedLearnMoreLink" href="" target="_blank">&unsupportedPlatform.learnMore;</html:a>&unsupportedPlatform.post;</html:div>
+                <html:div class="msg msgTapToPlay">&tapToPlayPlugin;</html:div>
+                <html:div class="msg msgVulnerabilityStatus" anonid="vulnerabilityStatus"><!-- set at runtime --></html:div>
+                <html:div class="msg msgCheckForUpdates"><html:a class="checkForUpdatesLink" href="">&checkForUpdates;</html:a></html:div>
+                <html:div class="msg msgClickToPlay">&clickToActivatePlugin;</html:div>
+                <html:div class="msg msgDisabled">&disabledPlugin;</html:div>
+                <html:div class="msg msgBlocked">&blockedPlugin.label;</html:div>
+                <html:div class="msg msgCrashed"><!-- set at runtime --></html:div>
 
-            <html:div class="installStatus">
-                <html:div class="msg msgInstallPlugin"><html:a class="installPluginLink" href="">&installPlugin;</html:a></html:div>
-            </html:div>
-            <html:div class="msg msgManagePlugins"><html:a class="managePluginsLink" href="">&managePlugins;</html:a></html:div>
-            <html:div class="submitStatus">
-                <!-- links set at runtime -->
-                <html:div class="msg msgPleaseSubmit"><html:a class="pleaseSubmitLink" href="">&report.please;</html:a></html:div>
-                <html:div class="msg msgSubmitting">&report.submitting;<html:span class="throbber"> </html:span></html:div>
-                <html:div class="msg msgSubmitted">&report.submitted;</html:div>
-                <html:div class="msg msgNotSubmitted">&report.disabled;</html:div>
-                <html:div class="msg msgSubmitFailed">&report.failed;</html:div>
-                <html:div class="msg msgNoCrashReport">&report.unavailable;</html:div>
-                <!-- link href set at runtime -->
-                <html:div class="msg msgReload">&reloadPlugin.pre;<html:a class="reloadLink" href="">&reloadPlugin.middle;</html:a>&reloadPlugin.post;</html:div>
-            </html:div>
-            <xul:spacer flex="1"/>
-            <html:div class="msg msgBottomLinks">
-                <html:span class="helpIcon" role="link"/>
-            </html:div>
+                <html:div class="installStatus">
+                    <html:div class="msg msgInstallPlugin"><html:a class="installPluginLink" href="">&installPlugin;</html:a></html:div>
+                </html:div>
+                <html:div class="msg msgManagePlugins"><html:a class="managePluginsLink" href="">&managePlugins;</html:a></html:div>
+                <html:div class="submitStatus">
+                    <!-- links set at runtime -->
+                    <html:div class="msg msgPleaseSubmit"><html:a class="pleaseSubmitLink" href="">&report.please;</html:a></html:div>
+                    <html:div class="msg msgSubmitting">&report.submitting;<html:span class="throbber"> </html:span></html:div>
+                    <html:div class="msg msgSubmitted">&report.submitted;</html:div>
+                    <html:div class="msg msgNotSubmitted">&report.disabled;</html:div>
+                    <html:div class="msg msgSubmitFailed">&report.failed;</html:div>
+                    <html:div class="msg msgNoCrashReport">&report.unavailable;</html:div>
+                    <!-- link href set at runtime -->
+                    <html:div class="msg msgReload">&reloadPlugin.pre;<html:a class="reloadLink" href="">&reloadPlugin.middle;</html:a>&reloadPlugin.post;</html:div>
+                </html:div>
+                <xul:spacer flex="1"/>
+                <html:div class="msg msgBottomLinks">
+                    <html:span class="helpIcon" role="link"/>
+                </html:div>
+            </xul:vbox>
         </xul:vbox>
         <html:div class="previewPluginContent"><!-- iframe and its src will be set at runtime --></html:div>
         <html:div style="display:none;"><children/></html:div>
     </content>
     <implementation>
       <constructor>
         // Notify browser-plugins.js that we were attached
         this.dispatchEvent(new CustomEvent("PluginBindingAttached"));
--- a/toolkit/themes/pinstripe/mozapps/jar.mn
+++ b/toolkit/themes/pinstripe/mozapps/jar.mn
@@ -50,21 +50,23 @@ toolkit.jar:
   skin/classic/mozapps/extensions/eula.css                        (extensions/eula.css)
   skin/classic/mozapps/extensions/blocklist.css                   (extensions/blocklist.css)
 * skin/classic/mozapps/extensions/newaddon.css                    (extensions/newaddon.css)
   skin/classic/mozapps/passwordmgr/key.png                        (passwordmgr/key.png)
   skin/classic/mozapps/passwordmgr/key-16.png                     (passwordmgr/key-16.png)
   skin/classic/mozapps/passwordmgr/key-16@2x.png                  (passwordmgr/key-16@2x.png)
   skin/classic/mozapps/passwordmgr/key-64.png                     (passwordmgr/key-64.png)
   skin/classic/mozapps/plugins/contentPluginBlocked.png           (plugins/contentPluginBlocked.png)
+  skin/classic/mozapps/plugins/contentPluginClose.png             (plugins/contentPluginClose.png)
   skin/classic/mozapps/plugins/contentPluginCrashed.png           (plugins/contentPluginCrashed.png)
   skin/classic/mozapps/plugins/contentPluginDisabled.png          (plugins/contentPluginDisabled.png)
   skin/classic/mozapps/plugins/contentPluginDownload.png          (plugins/contentPluginDownload.png)
   skin/classic/mozapps/plugins/contentPluginMissing.png           (plugins/contentPluginMissing.png)
   skin/classic/mozapps/plugins/contentPluginClickToPlay.png       (plugins/contentPluginClickToPlay.png)
+  skin/classic/mozapps/plugins/contentPluginClickToPlayPlain.png  (plugins/contentPluginClickToPlayPlain.png)
   skin/classic/mozapps/plugins/notifyPluginBlocked.png            (plugins/pluginBlocked-16.png)
   skin/classic/mozapps/plugins/notifyPluginCrashed.png            (plugins/notifyPluginGeneric.png)
   skin/classic/mozapps/plugins/notifyPluginGeneric.png            (plugins/notifyPluginGeneric.png)
   skin/classic/mozapps/plugins/notifyPluginOutdated.png           (plugins/notifyPluginGeneric.png)
   skin/classic/mozapps/plugins/pluginProblem.css                  (plugins/pluginProblem.css)
   skin/classic/mozapps/plugins/pluginGeneric.png                  (plugins/pluginGeneric.png)
   skin/classic/mozapps/plugins/pluginDisabled.png                 (plugins/pluginDisabled.png)
   skin/classic/mozapps/plugins/pluginBlocked.png                  (plugins/pluginBlocked.png)
new file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..ab35480bbff58c420c624395302917fc2d2455a8
GIT binary patch
literal 3014
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
IM6N<$f+`%ga{vGU
new file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..7a1607ebc641e6ca149fc855d73810af1cce5192
GIT binary patch
literal 1106
zc$@)J1g-mtP)<h;3K|Lk000e1NJLTq001xm000mO1ONa4`lmEH000CTNkl<ZcwSx9
zU5FKB7zgnG`_9LiGiP>>u4HuOW@ZJs7pt3|BG#2^E0e6&EWB9I=)&j&j54~(Fv`d-
z5`qksGR!s66<rrZIb|ig+DgQNNogX1y4r4g_MF)>AMf)tFLMUTdG4Mc{QvMiFyb3D
zzWc<J_Cj+e5Kn|7d=%$WxRCk%Vx_rQwg5C95Ah+4rtn3BpLmegU?GYCCUHi7J9sLE
zw7?awyAS6`LNY*t5J>+de+Iu%P!MnDmYFPB0AP@aMR0<*Xx9Z#6{An^kilp;gcAId
z`R36IAa(<;wWToEB8}NFB3b=2eg}S1P%ySR^G(A4zF5|OSFgd}j^)K@kGxaf;w0&U
zv1YI$0r85CpW(SqhMw!@Eb``w^+4hqbo^|$XlLHyG}|UQ_lgbL!;f_Qj9kIWyvZ(D
zlH^_LLqPJ~`7V=+UVCX#Deo{C1$R-Yqm<8?lwZd4_#XQ)BZ+@@K~Gz=t$n8RTwBiq
z&o;>J=J}5=5}i7}vvp~!uF&zFt(|l7Nd>yP7fR7>vw%{hoI*#*bv(DDWar~hDS<?~
zvBF>=R53N>SG5)G7N@7JkPG5S0g0?oFG>btQdF>Yg^qWvNGSp&(+k-9<-n1_!-I!^
zJYKIcPfrCt^VB~l2K8>>$le{B`?j9^G?`t)Q`5|oeznd#Hu?F_dbjoD=DyzYy3v=C
zdE<P4aEuQG{oyh0tF1q$ck4!b%VJ-@XQb!#@*Sm|3sfgg4~KDj>KguNc2dU7Tu+<l
z0M{$~N9!ux)#>~!tKputwAHnN3IB)7VZ$SqtQd_E&`~fgX=FPh3Nwcg+L1G@n+`-b
z9ok_ThRmEH<Le|ed+r0JT)sL{_Z@FZa$=1n)D?AAX-A8*DtY@Gm8p8O`}~3?Te}kU
zH{W3GXi6^NS`&UP^m1KuTuVC(aaBfVl|UnYYJ6yT_>`_#oKyfxgd_230vhpSmA=t^
zzv+tANd-WNhHyrE8b9urFPAT6720`N@<6~zP!xwr{OKUB)`w2jYosXI2E<3vA2XvK
z2hmvNyX5Wv4U&rKn1~rM;gIn)F%YR(jr-pxZ(ogc1+m@|8N0<U;N|A0ZE`H;^t3?1
zQ8XQfvT_L9F9NR?R-5FS#Mx<!cFeUXmbE@?+kr<ukk3eR3_^C=f~B|~lca;k-xWIn
zDK~lT7E1=QArXn{2)zfosQu&o662O%iIUSp^cH9*x(xZ1(JpRrmg+3^mX!oRw5f8y
z=TMSJCzL){4$%9cw2d~__5>6so}NCI0oC@<#?;G-)~fxANwRjZAgNgGr?q7Th#gt!
z?O1NMnYY2DYvHdLz_k?q%KQ$jG}`5CSae1Gf`ho4!p;UiI+uI79kXC!OpM4~$1bJt
YAGuvoa)c@+C;$Ke07*qoM6N<$f^E$p!T<mO
--- a/toolkit/themes/pinstripe/mozapps/plugins/pluginProblem.css
+++ b/toolkit/themes/pinstripe/mozapps/plugins/pluginProblem.css
@@ -2,53 +2,73 @@
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 @namespace html url(http://www.w3.org/1999/xhtml);
 
 /* These styles affect only the bound element, not other page content. */
 
 .mainBox {
+  font: message-box;
+  font-size: 12px;
   text-align: center;
   background-image: -moz-repeating-linear-gradient(-45deg,
                                                    rgba(65, 65, 65, 0.8),
                                                    rgba(65, 65, 65, 0.8) 20px,
                                                    rgba(69, 69, 69, 0.8) 20px,
                                                    rgba(69, 69, 69, 0.8) 40px);
   color: white;
+  text-shadow: rgba(0,0,0,0.8) 0 0 3.5px;
   border-radius: 12px;
   /* recessed effect with dark inner shadow and lightened bottom */
   box-shadow: inset 0 1px 3.5px rgba(0,0,0,0.8),
               0 1px 0 rgba(255,255,255,0.2);
-  padding: 5px;
   -moz-user-select: none;
   position: relative;
 }
 
+.hoverBox {
+  padding: 5px;
+}
+
 html|a {
   color: white;
 }
 
 .icon {
-  min-width: 48px;
-  min-height: 48px;
+  display: inline-block;
+  width: 48px;
+  height: 48px;
   background-position: center;
   background-repeat: no-repeat;
+  border: none;
+  background-color: transparent;
 }
 :-moz-type-unsupported .icon {
   background-image: url(chrome://mozapps/skin/plugins/contentPluginMissing.png);
 }
 :-moz-type-unsupported .icon[status="ready"] {
   background-image: url(chrome://mozapps/skin/plugins/contentPluginDownload.png);
 }
-:-moz-handler-clicktoplay .icon,
 :-moz-handler-vulnerable-updatable .icon,
 :-moz-handler-vulnerable-no-update .icon {
   background-image: url(chrome://mozapps/skin/plugins/contentPluginClickToPlay.png);
 }
+
+:-moz-handler-clicktoplay .icon {
+  background-image: url(chrome://mozapps/skin/plugins/contentPluginClickToPlayPlain.png);
+  background-position: 0 0;
+}
+:-moz-handler-clicktoplay .hoverBox:hover .icon {
+ background-position: -48px 0;
+}
+:-moz-handler-clicktoplay .hoverBox:hover:active .icon {
+ background-position: -96px 0;
+}
+
 :-moz-handler-disabled .icon {
   background-image: url(chrome://mozapps/skin/plugins/contentPluginDisabled.png);
 }
 :-moz-handler-blocked .icon {
   background-image: url(chrome://mozapps/skin/plugins/contentPluginBlocked.png);
 }
 :-moz-handler-crashed .icon {
   background-image: url(chrome://mozapps/skin/plugins/contentPluginCrashed.png);
@@ -56,22 +76,21 @@ html|a {
 
 .throbber {
   padding-left: 16px; /* width of the background image */
   background: url(chrome://global/skin/icons/loading_16.png) no-repeat;
   margin-left: 5px;
 }
 
 .msg {
-  font: message-box;
-  font-size: 12px;
   cursor: default;
-  text-shadow: rgba(0,0,0,0.8) 0 0 3.5px;
+  width: 100%;
 }
 
+:-moz-handler-clicktoplay .mainBox,
 :-moz-handler-clicktoplay .msgClickToPlay,
 :-moz-handler-vulnerable-updatable .msgClickToPlay,
 :-moz-handler-vulnerable-no-update .msgClickToPlay {
   cursor: pointer;
 }
 
 :-moz-handler-clicktoplay .msgTapToPlay {
   display: none;
@@ -121,8 +140,45 @@ html|a {
 }
 
 @media (min-resolution: 2dppx) {
   .closeIcon {
     background-image: url("chrome://global/skin/icons/close@2x.png");
     background-size: auto 16px;
   }
 }
+
+:-moz-handler-clicktoplay .mainBox {
+  background-image: none;
+  background-color: hsla(0,0%,100%,.2);
+  border: 1px dashed hsla(0,0%,50%,0.5);
+  border-radius: 2.5px;
+  color: hsl(0,0%,50%);
+  text-shadow: none;
+  box-shadow: none;
+  transition: background-color 150ms ease;
+}
+
+:-moz-handler-clicktoplay .mainBox:hover {
+  background-color: hsla(0,0%,90%,.7);
+}
+:-moz-handler-clicktoplay .mainBox:hover:active {
+  background-color: hsla(0,0%,90%,.8);
+}
+
+:-moz-handler-clicktoplay .mainBox,
+:-moz-handler-clicktoplay html|a {
+  color: hsl(0,0%,35%);
+}
+
+:-moz-handler-clicktoplay .hoverBox:hover,
+:-moz-handler-clicktoplay .hoverBox:hover html|a {
+  color: hsl(0,0%,20%);
+}
+
+:-moz-handler-clicktoplay .hoverBox:hover:active,
+:-moz-handler-clicktoplay .hoverBox:hover:active html|a {
+  color: hsl(0,0%,10%);
+}
+
+:-moz-handler-clicktoplay .closeIcon {
+  background-image: url("chrome://mozapps/skin/plugins/contentPluginClose.png");
+}
--- a/toolkit/themes/winstripe/mozapps/jar.mn
+++ b/toolkit/themes/winstripe/mozapps/jar.mn
@@ -54,21 +54,23 @@ toolkit.jar:
         skin/classic/mozapps/handling/handling.css                 (handling/handling.css)
         skin/classic/mozapps/passwordmgr/key.png                   (passwordmgr/key.png)
         skin/classic/mozapps/passwordmgr/key-16.png                (passwordmgr/key-16.png)
         skin/classic/mozapps/passwordmgr/key-64.png                (passwordmgr/key-64.png)
 #ifdef MOZ_PLACES
         skin/classic/mozapps/places/defaultFavicon.png             (places/defaultFavicon.png)
 #endif
         skin/classic/mozapps/plugins/contentPluginBlocked.png      (plugins/contentPluginBlocked.png)
+        skin/classic/mozapps/plugins/contentPluginClose.png        (plugins/contentPluginClose.png)
         skin/classic/mozapps/plugins/contentPluginCrashed.png      (plugins/contentPluginCrashed.png)
         skin/classic/mozapps/plugins/contentPluginDisabled.png     (plugins/contentPluginDisabled.png)
         skin/classic/mozapps/plugins/contentPluginDownload.png     (plugins/contentPluginDownload.png)
         skin/classic/mozapps/plugins/contentPluginMissing.png      (plugins/contentPluginMissing.png)
         skin/classic/mozapps/plugins/contentPluginClickToPlay.png  (plugins/contentPluginClickToPlay.png)
+        skin/classic/mozapps/plugins/contentPluginClickToPlayPlain.png (plugins/contentPluginClickToPlayPlain.png)
         skin/classic/mozapps/plugins/notifyPluginBlocked.png       (plugins/pluginBlocked-16.png)
         skin/classic/mozapps/plugins/notifyPluginCrashed.png       (plugins/pluginGeneric-16.png)
         skin/classic/mozapps/plugins/notifyPluginGeneric.png       (plugins/pluginGeneric-16.png)
         skin/classic/mozapps/plugins/notifyPluginOutdated.png      (plugins/pluginBlocked-16.png)
         skin/classic/mozapps/plugins/pluginProblem.css             (plugins/pluginProblem.css)
         skin/classic/mozapps/plugins/pluginGeneric.png             (plugins/pluginGeneric.png)
         skin/classic/mozapps/plugins/pluginDisabled.png            (plugins/pluginDisabled.png)
         skin/classic/mozapps/plugins/pluginBlocked.png             (plugins/pluginBlocked.png)
@@ -134,21 +136,23 @@ toolkit.jar:
         skin/classic/aero/mozapps/handling/handling.css                    (handling/handling.css)
         skin/classic/aero/mozapps/passwordmgr/key.png                      (passwordmgr/key.png)
         skin/classic/aero/mozapps/passwordmgr/key-16.png                   (passwordmgr/key-16.png)
         skin/classic/aero/mozapps/passwordmgr/key-64.png                   (passwordmgr/key-64.png)
 #ifdef MOZ_PLACES
         skin/classic/aero/mozapps/places/defaultFavicon.png                (places/defaultFavicon.png)
 #endif
         skin/classic/aero/mozapps/plugins/contentPluginBlocked.png         (plugins/contentPluginBlocked.png)
+        skin/classic/aero/mozapps/plugins/contentPluginClose.png           (plugins/contentPluginClose.png)
         skin/classic/aero/mozapps/plugins/contentPluginCrashed.png         (plugins/contentPluginCrashed.png)
         skin/classic/aero/mozapps/plugins/contentPluginDisabled.png        (plugins/contentPluginDisabled.png)
         skin/classic/aero/mozapps/plugins/contentPluginDownload.png        (plugins/contentPluginDownload.png)
         skin/classic/aero/mozapps/plugins/contentPluginMissing.png         (plugins/contentPluginMissing.png)
         skin/classic/aero/mozapps/plugins/contentPluginClickToPlay.png     (plugins/contentPluginClickToPlay.png)
+        skin/classic/aero/mozapps/plugins/contentPluginClickToPlayPlain.png (plugins/contentPluginClickToPlayPlain.png)
         skin/classic/aero/mozapps/plugins/notifyPluginBlocked.png          (plugins/pluginBlocked-16-aero.png)
         skin/classic/aero/mozapps/plugins/notifyPluginCrashed.png          (plugins/pluginGeneric-16-aero.png)
         skin/classic/aero/mozapps/plugins/notifyPluginGeneric.png          (plugins/pluginGeneric-16-aero.png)
         skin/classic/aero/mozapps/plugins/notifyPluginOutdated.png         (plugins/pluginBlocked-16-aero.png)
         skin/classic/aero/mozapps/plugins/pluginProblem.css                (plugins/pluginProblem.css)
         skin/classic/aero/mozapps/plugins/pluginGeneric.png                (plugins/pluginGeneric-aero.png)
         skin/classic/aero/mozapps/plugins/pluginDisabled.png               (plugins/pluginDisabled-aero.png)
         skin/classic/aero/mozapps/plugins/pluginBlocked.png                (plugins/pluginBlocked-aero.png)
new file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..ab35480bbff58c420c624395302917fc2d2455a8
GIT binary patch
literal 3014
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
IM6N<$f+`%ga{vGU
new file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..7a1607ebc641e6ca149fc855d73810af1cce5192
GIT binary patch
literal 1106
zc$@)J1g-mtP)<h;3K|Lk000e1NJLTq001xm000mO1ONa4`lmEH000CTNkl<ZcwSx9
zU5FKB7zgnG`_9LiGiP>>u4HuOW@ZJs7pt3|BG#2^E0e6&EWB9I=)&j&j54~(Fv`d-
z5`qksGR!s66<rrZIb|ig+DgQNNogX1y4r4g_MF)>AMf)tFLMUTdG4Mc{QvMiFyb3D
zzWc<J_Cj+e5Kn|7d=%$WxRCk%Vx_rQwg5C95Ah+4rtn3BpLmegU?GYCCUHi7J9sLE
zw7?awyAS6`LNY*t5J>+de+Iu%P!MnDmYFPB0AP@aMR0<*Xx9Z#6{An^kilp;gcAId
z`R36IAa(<;wWToEB8}NFB3b=2eg}S1P%ySR^G(A4zF5|OSFgd}j^)K@kGxaf;w0&U
zv1YI$0r85CpW(SqhMw!@Eb``w^+4hqbo^|$XlLHyG}|UQ_lgbL!;f_Qj9kIWyvZ(D
zlH^_LLqPJ~`7V=+UVCX#Deo{C1$R-Yqm<8?lwZd4_#XQ)BZ+@@K~Gz=t$n8RTwBiq
z&o;>J=J}5=5}i7}vvp~!uF&zFt(|l7Nd>yP7fR7>vw%{hoI*#*bv(DDWar~hDS<?~
zvBF>=R53N>SG5)G7N@7JkPG5S0g0?oFG>btQdF>Yg^qWvNGSp&(+k-9<-n1_!-I!^
zJYKIcPfrCt^VB~l2K8>>$le{B`?j9^G?`t)Q`5|oeznd#Hu?F_dbjoD=DyzYy3v=C
zdE<P4aEuQG{oyh0tF1q$ck4!b%VJ-@XQb!#@*Sm|3sfgg4~KDj>KguNc2dU7Tu+<l
z0M{$~N9!ux)#>~!tKputwAHnN3IB)7VZ$SqtQd_E&`~fgX=FPh3Nwcg+L1G@n+`-b
z9ok_ThRmEH<Le|ed+r0JT)sL{_Z@FZa$=1n)D?AAX-A8*DtY@Gm8p8O`}~3?Te}kU
zH{W3GXi6^NS`&UP^m1KuTuVC(aaBfVl|UnYYJ6yT_>`_#oKyfxgd_230vhpSmA=t^
zzv+tANd-WNhHyrE8b9urFPAT6720`N@<6~zP!xwr{OKUB)`w2jYosXI2E<3vA2XvK
z2hmvNyX5Wv4U&rKn1~rM;gIn)F%YR(jr-pxZ(ogc1+m@|8N0<U;N|A0ZE`H;^t3?1
zQ8XQfvT_L9F9NR?R-5FS#Mx<!cFeUXmbE@?+kr<ukk3eR3_^C=f~B|~lca;k-xWIn
zDK~lT7E1=QArXn{2)zfosQu&o662O%iIUSp^cH9*x(xZ1(JpRrmg+3^mX!oRw5f8y
z=TMSJCzL){4$%9cw2d~__5>6so}NCI0oC@<#?;G-)~fxANwRjZAgNgGr?q7Th#gt!
z?O1NMnYY2DYvHdLz_k?q%KQ$jG}`5CSae1Gf`ho4!p;UiI+uI79kXC!OpM4~$1bJt
YAGuvoa)c@+C;$Ke07*qoM6N<$f^E$p!T<mO
--- a/toolkit/themes/winstripe/mozapps/plugins/pluginProblem.css
+++ b/toolkit/themes/winstripe/mozapps/plugins/pluginProblem.css
@@ -2,54 +2,74 @@
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 @namespace html url(http://www.w3.org/1999/xhtml);
 
 /* These styles affect only the bound element, not other page content. */
 
 .mainBox {
+  font: message-box;
+  font-size: 12px;
   text-align: center;
   background-image: -moz-repeating-linear-gradient(-45deg,
                                                    rgba(65, 65, 65, 0.8),
                                                    rgba(65, 65, 65, 0.8) 20px,
                                                    rgba(69, 69, 69, 0.8) 20px,
                                                    rgba(69, 69, 69, 0.8) 40px);
   color: white;
+  text-shadow: rgba(0,0,0,0.8) 0 0 3.5px;
   border-radius: 12px;
   /* recessed effect with dark inner shadow and lightened bottom */
   box-shadow: inset 0 1px 3.5px rgba(0,0,0,0.8),
               0 1px 0 rgba(255,255,255,0.2);
-  padding: 5px;
   -moz-user-select: none;
   position: relative;
 }
 
+.hoverBox {
+  padding: 5px;
+}
+
 html|a {
   color: white;
 }
 
 .icon {
-  min-width: 48px;
-  min-height: 48px;
+  display: inline-block;
+  width: 48px;
+  height: 48px;
   background-position: center;
   background-repeat: no-repeat;
+  border: none;
+  background-color: transparent;
 }
 :-moz-type-unsupported .icon,
 :-moz-type-unsupported-platform .icon {
   background-image: url(chrome://mozapps/skin/plugins/contentPluginMissing.png);
 }
 :-moz-type-unsupported .icon[status="ready"] {
   background-image: url(chrome://mozapps/skin/plugins/contentPluginDownload.png);
 }
-:-moz-handler-clicktoplay .icon,
 :-moz-handler-vulnerable-updatable .icon,
 :-moz-handler-vulnerable-no-update .icon {
   background-image: url(chrome://mozapps/skin/plugins/contentPluginClickToPlay.png);
 }
+
+:-moz-handler-clicktoplay .icon {
+  background-image: url(chrome://mozapps/skin/plugins/contentPluginClickToPlayPlain.png);
+  background-position: 0 0;
+}
+:-moz-handler-clicktoplay .hoverBox:hover .icon {
+ background-position: -48px 0;
+}
+:-moz-handler-clicktoplay .hoverBox:hover:active .icon {
+ background-position: -96px 0;
+}
+
 :-moz-handler-disabled .icon {
   background-image: url(chrome://mozapps/skin/plugins/contentPluginDisabled.png);
 }
 :-moz-handler-blocked .icon {
   background-image: url(chrome://mozapps/skin/plugins/contentPluginBlocked.png);
 }
 :-moz-handler-crashed .icon {
   background-image: url(chrome://mozapps/skin/plugins/contentPluginCrashed.png);
@@ -57,22 +77,21 @@ html|a {
 
 .throbber {
   padding-left: 16px; /* width of the background image */
   background: url(chrome://global/skin/icons/loading_16.png) no-repeat;
   margin-left: 5px;
 }
 
 .msg {
-  font: message-box;
-  font-size: 12px;
   cursor: default;
-  text-shadow: rgba(0,0,0,0.8) 0 0 3.5px;
+  width: 100%;
 }
 
+:-moz-handler-clicktoplay .mainBox,
 :-moz-handler-clicktoplay .msgClickToPlay,
 :-moz-handler-vulnerable-updatable .msgClickToPlay,
 :-moz-handler-vulnerable-no-update .msgClickToPlay {
   cursor: pointer;
 }
 
 @media not all and (-moz-touch-enabled) {
   :-moz-handler-clicktoplay .msgTapToPlay {
@@ -123,8 +142,45 @@ html|a {
 
 .closeIcon:hover {
   background-position: -16px 0;
 }
 
 .closeIcon:hover:active {
   background-position: -32px 0;
 }
+
+:-moz-handler-clicktoplay .mainBox {
+  background-image: none;
+  background-color: hsla(0,0%,100%,.2);
+  border: 1px dashed hsla(0,0%,50%,0.5);
+  border-radius: 2.5px;
+  color: hsl(0,0%,50%);
+  text-shadow: none;
+  box-shadow: none;
+  transition: background-color 150ms ease;
+}
+
+:-moz-handler-clicktoplay .mainBox:hover {
+  background-color: hsla(0,0%,90%,.7);
+}
+:-moz-handler-clicktoplay .mainBox:hover:active {
+  background-color: hsla(0,0%,90%,.8);
+}
+
+:-moz-handler-clicktoplay .mainBox,
+:-moz-handler-clicktoplay html|a {
+  color: hsl(0,0%,35%);
+}
+
+:-moz-handler-clicktoplay .hoverBox:hover,
+:-moz-handler-clicktoplay .hoverBox:hover html|a {
+  color: hsl(0,0%,20%);
+}
+
+:-moz-handler-clicktoplay .hoverBox:hover:active,
+:-moz-handler-clicktoplay .hoverBox:hover:active html|a {
+  color: hsl(0,0%,10%);
+}
+
+:-moz-handler-clicktoplay .closeIcon {
+  background-image: url("chrome://mozapps/skin/plugins/contentPluginClose.png");
+}