From f8be060b009b8d5c3596ef0c3f6a6ab9a2548287 Mon Sep 17 00:00:00 2001 From: Mark Hammond Date: Mon, 27 Aug 2012 16:17:22 +1000 Subject: [PATCH] Backout f79e4c7902a1 (Bug 780987) due to talos being angry and red-faced --- browser/base/content/browser-social.js | 79 ++---------------- browser/base/content/test/Makefile.in | 1 - .../test/browser_social_shareButton.js | 19 +---- browser/base/content/test/head.js | 9 -- .../base/content/test/social_share_image.png | Bin 934 -> 0 bytes browser/base/content/test/social_worker.js | 19 ----- .../en-US/chrome/browser/browser.properties | 4 + browser/themes/gnomestripe/browser.css | 11 ++- browser/themes/gnomestripe/jar.mn | 3 + .../gnomestripe/share-button-active.png | Bin 0 -> 1249 bytes .../gnomestripe/share-button-shared.png | Bin 0 -> 1460 bytes browser/themes/gnomestripe/share-button.png | Bin 0 -> 1245 bytes browser/themes/pinstripe/browser.css | 11 ++- browser/themes/pinstripe/jar.mn | 3 + .../themes/pinstripe/share-button-active.png | Bin 0 -> 1249 bytes .../themes/pinstripe/share-button-shared.png | Bin 0 -> 1460 bytes browser/themes/pinstripe/share-button.png | Bin 0 -> 1245 bytes browser/themes/winstripe/browser.css | 11 ++- browser/themes/winstripe/jar.mn | 6 ++ .../themes/winstripe/share-button-active.png | Bin 0 -> 1249 bytes .../themes/winstripe/share-button-shared.png | Bin 0 -> 1460 bytes browser/themes/winstripe/share-button.png | Bin 0 -> 1245 bytes 22 files changed, 52 insertions(+), 124 deletions(-) delete mode 100644 browser/base/content/test/social_share_image.png create mode 100644 browser/themes/gnomestripe/share-button-active.png create mode 100644 browser/themes/gnomestripe/share-button-shared.png create mode 100644 browser/themes/gnomestripe/share-button.png create mode 100644 browser/themes/pinstripe/share-button-active.png create mode 100644 browser/themes/pinstripe/share-button-shared.png create mode 100644 browser/themes/pinstripe/share-button.png create mode 100644 browser/themes/winstripe/share-button-active.png create mode 100644 browser/themes/winstripe/share-button-shared.png create mode 100644 browser/themes/winstripe/share-button.png diff --git a/browser/base/content/browser-social.js b/browser/base/content/browser-social.js index 7ed87a595228..5bc343276eca 100644 --- a/browser/base/content/browser-social.js +++ b/browser/base/content/browser-social.js @@ -293,12 +293,6 @@ let SocialFlyout = { } let SocialShareButton = { - // promptImages and promptMessages being null means we are yet to get the - // message back from the provider with the images and icons (or that we got - // the response but determined it was invalid.) - promptImages: null, - promptMessages: null, - // Called once, after window load, when the Social.provider object is initialized init: function SSB_init() { this.updateButtonHiddenState(); @@ -317,59 +311,6 @@ let SocialShareButton = { } else { profileRow.hidden = true; } - // XXX - this shouldn't be done as part of updateProfileInfo, but instead - // whenever we notice the provider has changed - but the concept of - // "provider changed" will only exist once bug 774520 lands. - this.promptImages = null; - this.promptMessages = null; - // get the recommend-prompt info. - let port = Social.provider._getWorkerPort(); - port.onmessage = function(evt) { - if (evt.data.topic == "social.user-recommend-prompt-response") { - port.close(); - this.acceptRecommendInfo(evt.data.data); - this.updateButtonHiddenState(); - this.updateShareState(); - } - }.bind(this); - port.postMessage({topic: "social.user-recommend-prompt"}); - }, - - acceptRecommendInfo: function SSB_acceptRecommendInfo(data) { - // Accept *and validate* the user-recommend-prompt-response message. - let promptImages = {}; - let promptMessages = {}; - function reportError(reason) { - Cu.reportError("Invalid recommend data from provider: " + reason + ": sharing is disabled for this provider"); - return false; - } - if (!data || - !data.images || typeof data.images != "object" || - !data.messages || typeof data.messages != "object") { - return reportError("data is missing valid 'images' or 'messages' elements"); - } - for (let sub of ["share", "unshare"]) { - let url = data.images[sub]; - if (!url || typeof url != "string" || url.length == 0) { - return reportError('images["' + sub + '"] is missing or not a non-empty string'); - } - // resolve potentially relative URLs then check the scheme is acceptable. - url = Services.io.newURI(Social.provider.origin, null, null).resolve(url); - let uri = Services.io.newURI(url, null, null); - if (!uri.schemeIs("http") && !uri.schemeIs("https") && !uri.schemeIs("data")) { - return reportError('images["' + sub + '"] does not have a valid scheme'); - } - promptImages[sub] = url; - } - for (let sub of ["shareTooltip", "unshareTooltip", "sharedLabel", "unsharedLabel"]) { - if (typeof data.messages[sub] != "string" || data.messages[sub].length == 0) { - return reportError('messages["' + sub + '"] is not a valid string'); - } - promptMessages[sub] = data.messages[sub]; - } - this.promptImages = promptImages; - this.promptMessages = promptMessages; - return true; }, get shareButton() { @@ -386,7 +327,7 @@ let SocialShareButton = { updateButtonHiddenState: function SSB_updateButtonHiddenState() { let shareButton = this.shareButton; if (shareButton) - shareButton.hidden = !Social.uiVisible || this.promptImages == null; + shareButton.hidden = !Social.uiVisible; }, onClick: function SSB_onClick(aEvent) { @@ -429,33 +370,23 @@ let SocialShareButton = { // Provide a11y-friendly notification of share. let status = document.getElementById("share-button-status"); if (status) { - // XXX - this should also be capable of reflecting that the page was - // unshared (ie, it needs to manage three-states: (1) nothing done, (2) - // shared, (3) shared then unshared) - // Note that we *do* have an appropriate string from the provider for - // this (promptMessages['unsharedLabel'] but currently lack a way of - // tracking this state) let statusString = currentPageShared ? - this.promptMessages['sharedLabel'] : ""; + gNavigatorBundle.getString("social.pageShared.label") : ""; status.setAttribute("value", statusString); } // Update the share button, if present let shareButton = this.shareButton; - if (!shareButton || shareButton.hidden) + if (!shareButton) return; - let imageURL; if (currentPageShared) { shareButton.setAttribute("shared", "true"); - shareButton.setAttribute("tooltiptext", this.promptMessages['unshareTooltip']); - imageURL = this.promptImages["unshare"] + shareButton.setAttribute("tooltiptext", gNavigatorBundle.getString("social.shareButton.sharedtooltip")); } else { shareButton.removeAttribute("shared"); - shareButton.setAttribute("tooltiptext", this.promptMessages['shareTooltip']); - imageURL = this.promptImages["share"] + shareButton.setAttribute("tooltiptext", gNavigatorBundle.getString("social.shareButton.tooltip")); } - shareButton.style.backgroundImage = 'url("' + encodeURI(imageURL) + '")'; } }; diff --git a/browser/base/content/test/Makefile.in b/browser/base/content/test/Makefile.in index 4fe61ae88aee..c1ff516cd03c 100644 --- a/browser/base/content/test/Makefile.in +++ b/browser/base/content/test/Makefile.in @@ -268,7 +268,6 @@ _BROWSER_FILES = \ browser_social_isVisible.js \ browser_social_chatwindow.js \ social_panel.html \ - social_share_image.png \ social_sidebar.html \ social_chat.html \ social_flyout.html \ diff --git a/browser/base/content/test/browser_social_shareButton.js b/browser/base/content/test/browser_social_shareButton.js index c442acdd5ca8..4788b0a797c6 100644 --- a/browser/base/content/test/browser_social_shareButton.js +++ b/browser/base/content/test/browser_social_shareButton.js @@ -48,12 +48,11 @@ function testInitial(finishcb) { let okButton = document.getElementById("editSharePopupOkButton"); let undoButton = document.getElementById("editSharePopupUndoButton"); - let shareStatusLabel = document.getElementById("share-button-status"); // ensure the worker initialization and handshakes are all done and we - // have a profile and the worker has responsed to the recommend-prompt msg. - waitForCondition(function() Social.provider.profile && SocialShareButton.promptImages != null, function() { - is(shareButton.hasAttribute("shared"), false, "Share button should not have 'shared' attribute before share button is clicked"); + // have a profile. + waitForCondition(function() Social.provider.profile, function() { + is(shareButton.hidden, false, "share button should be visible"); // check dom values let profile = Social.provider.profile; let portrait = document.getElementById("socialUserPortrait").getAttribute("src"); @@ -62,24 +61,14 @@ function testInitial(finishcb) { is(displayName.label, profile.displayName, "display name is set"); ok(!document.getElementById("editSharePopupHeader").hidden, "user profile is visible"); - // Check the strings from our worker actually ended up on the button. - is(shareButton.getAttribute("tooltiptext"), "Share this page", "check tooltip text is correct"); - is(shareStatusLabel.getAttribute("value"), "", "check status label text is blank"); - // Check the relative URL was resolved correctly (note this image has offsets of zero...) - is(shareButton.style.backgroundImage, 'url("https://example.com/browser/browser/base/content/test/social_share_image.png")', "check image url is correct"); - // Test clicking the share button shareButton.addEventListener("click", function listener() { shareButton.removeEventListener("click", listener); is(shareButton.hasAttribute("shared"), true, "Share button should have 'shared' attribute after share button is clicked"); - is(shareButton.getAttribute("tooltiptext"), "Unshare this page", "check tooltip text is correct"); - is(shareStatusLabel.getAttribute("value"), "This page has been shared", "check status label text is correct"); - // Check the URL and offsets were applied correctly - is(shareButton.style.backgroundImage, 'url("https://example.com/browser/browser/base/content/test/social_share_image.png")', "check image url is correct"); executeSoon(testSecondClick.bind(window, testPopupOKButton)); }); EventUtils.synthesizeMouseAtCenter(shareButton, {}); - }, "provider didn't provide user-recommend-prompt response"); + }, "provider didn't provide a profile"); } function testSecondClick(nextTest) { diff --git a/browser/base/content/test/head.js b/browser/base/content/test/head.js index 8cc7597b316d..e22bf9184ba7 100644 --- a/browser/base/content/test/head.js +++ b/browser/base/content/test/head.js @@ -134,15 +134,6 @@ function runSocialTestWithProvider(manifest, callback) { Services.prefs.setBoolPref("social.enabled", true); registerCleanupFunction(function () { - // if one test happens to fail, it is likely finishSocialTest will not - // be called, causing most future social tests to also fail as they - // attempt to add a provider which already exists - so work - // around that by also attempting to remove the test provider. - try { - SocialService.removeProvider(provider.origin, finish); - } catch (ex) { - ; - } Social.provider = oldProvider; Services.prefs.clearUserPref("social.enabled"); }); diff --git a/browser/base/content/test/social_share_image.png b/browser/base/content/test/social_share_image.png deleted file mode 100644 index fa1f8fb0e23b9689e51f667a5745898f929c0960..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 934 zcmV;X16lluP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGmbN~PnbOGLGA9w%&13O7XK~y+Tl~h?w z6HyeMX{VqdxP&#JML>gzF^WngX*5D0u|Y_zMiP}w{Nn>rQGbz7P5f-4KNwn+O$AF> zgVKtXvK0svEfujSv``QVEiLUV-kGsuAw}@@HhD91-#O>r^WH<~?G2J7H9f%ov98nOhJH8ceDV?e4Hp5)gc%_{E?d0-#BRtRAg? z*i-7p+yYcU5r3s@O5i1k=1!fqes*Z(4dvK5_OLD4PKMLBp0c*InFr8st)ta@owK*XwL`W7rL58Q|C<5?-2w=gd z{t;DsmuJl*6rj0T68(sAb=AdM$cC@!OYWryP4}e=>9}pY;qu$un7rKRJk^y({3I?w z1j>E|*T8kV$i3!y)1ua~dV%S}`Sj%#r*Xo}%jZ2X+Kh#Dg`@KZPALSQhC^_wD|#y` zdKEr=-!`4K{ZiC5PfpEnaFWxaB+>@BOKQlWayK11y-xy_& zvertb6vTcuO%55xcLWE8hU^4$hQ~}d^K&swIAgU9jv9Yj=6HyEh1Yp+0RoO| z$?KBT_|$?k1@K;}Q#Kiz9F&73$hN{Z3}sFO^FMOvAOwd3e6zL%pp1`=YVGVkm!2v~ zJN`kZ_osm_(~K}$go=vJ78N%XGkb~oaWQ}n6W&;Mu>c;!1Yw95DZN .ac-url-box > .ac-action- /* social recommending panel */ #share-button { - width: 16px; - height: 16px; + list-style-image: url(chrome://browser/skin/share-button.png); +} + +#share-button:not([shared]):not([disabled]):hover { + list-style-image: url(chrome://browser/skin/share-button-active.png); +} + +#share-button[shared] { + list-style-image: url(chrome://browser/skin/share-button-shared.png); } #socialUserPortrait { diff --git a/browser/themes/gnomestripe/jar.mn b/browser/themes/gnomestripe/jar.mn index b7ad8ceb6a4d..a1e3276dde1d 100644 --- a/browser/themes/gnomestripe/jar.mn +++ b/browser/themes/gnomestripe/jar.mn @@ -39,6 +39,9 @@ browser.jar: skin/classic/browser/Secure.png skin/classic/browser/Security-broken.png skin/classic/browser/setDesktopBackground.css + skin/classic/browser/share-button.png + skin/classic/browser/share-button-active.png + skin/classic/browser/share-button-shared.png skin/classic/browser/Toolbar.png skin/classic/browser/Toolbar-small.png skin/classic/browser/urlbar-arrow.png diff --git a/browser/themes/gnomestripe/share-button-active.png b/browser/themes/gnomestripe/share-button-active.png new file mode 100644 index 0000000000000000000000000000000000000000..a87501e89b3112b507b9385d43d021e7700fb150 GIT binary patch literal 1249 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`k|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*9U+n3Xa^B1$5BeXNr6bM+EIYV;~{3xK*A7;Nk-3KEmEQ%e+* zQqwc@Y?a>c-mj#PnPRIHZt82`Ti~3Uk?B!Ylp0*+7m{3+ootz+WN)WnQ(*-(AUCxn zQK2F?C$HG5!d3}vt`(3C64qBz04piUwpD^SD#ABF!8yMuRl!uxKsVXI%s|1+P|wiV z#N6CmN5ROz&_Lh7NZ-&%*U;R`*vQJjKmiJrfVLH-q*(>IxIyg#@@$ndN=gc>^!3Zj z%k|2Q_413-^$jg8EkR}&8R-I5=oVMzl_XZ^<`pZ$OmImpPAEg{v+u2}(t{7puX=A(aKG z`a!A1`K3k4z=%sz23b{L-^Aq1JP;qO z-q+X4Gq1QLF)umQ)5TT^Xo6m5W{Q=up}Cu>lZ&aVv6H2tp{s$DnT4~38IWZLlrVB} zgXwk2PcF?(%`1WFO+n~2!>JdP6mkoIHoK%2WtOF;xE1B+DuBIgm5JLe#yHJ`>P^Az z789I$^?{Dj2SqGWM8kxDsRzV_CtDx~p72xifT_I*n5@6tj!tD@U<~ziaSW-rmGtBP ze|zSY5vl*x%@pQwCK($};0XC%J1P0c_x}b0%Nu{_EXfGF`S~EH$65z5@eBj1X%3tBdDc33uAaCa0p++e%Q;1*Ei!X8w-zWLBYgDV@91Ex2|6!UgOC$QOi zUrRYMYeIuieIutTcL#GL(Cwd@Kbk0rF`c@}l*z7O*L0cHK*8{Dkp3j@ZTn7K`Ro|p zY_7?iyOKSrRH2Uj$jcj|f+uz@5zopr E08!kg%>V!Z literal 0 HcmV?d00001 diff --git a/browser/themes/gnomestripe/share-button-shared.png b/browser/themes/gnomestripe/share-button-shared.png new file mode 100644 index 0000000000000000000000000000000000000000..cb8a11e81d899117cc02c924525c99182b7b8166 GIT binary patch literal 1460 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`k|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*9U+n3Xa^B1$5BeXNr6bM+EIYV;~{3xK*A7;Nk-3KEmEQ%e+* zQqwc@Y?a>c-mj#PnPRIHZt82`Ti~3Uk?B!Ylp0*+7m{3+ootz+WN)WnQ(*-(AUCxn zQK2F?C$HG5!d3}vt`(3C64qBz04piUwpD^SD#ABF!8yMuRl!uxKsVXI%s|1+P|wiV z#N6CmN5ROz&_Lh7NZ-&%*U;R`*vQJjKmiJrfVLH-q*(>IxIyg#@@$ndN=gc>^!3Zj z%k|2Q_413-^$jg8EkR}&8R-I5=oVMzl_XZ^<`pZ$OmImpPAEg{v+u2}(t{7puX=A(aKG z`a!A1`K3k4z=%sz23b{L-^Aq1JP;qO z-q+X4Gq1QLF)umQ)5TT^Xo6m5W{Q=miIbtBv7582v6H2tp{s$DnT4~38IWaWXzpg@ z;s(>}lAm0fo0?Yw)0=|O>w;4+C@JI?0Bv?jEy^rQO>ryA&s6|>*(wvaTO4tk2i2Q` z+bvEw_38s1qYsK$q=<$I0aFi%2~V~_4m{zf<^fZC5inV|2bpeWU|`blba4!+xHV<+ z!R#vzBFECzPM#@Sz2kyygn_cH$j1ks+DB)1b*vB#5lHFpstDk3I#DM0GAwq_5B`b} zu4`dBaV{<)+t_Vio^95cT(WkzQ~AZ5$vKlg`rgP{th0?xZt~2^{pR;;Di5|UWx92s zdAH-08^124tX;phy5|44?kDz%xj+AY>Ig25%WNz2TRV~WfFZ|1{k>cH7deC(&o-_u ziS7S>(kg*}TU^&_HdC=13a5n+EK=wa{#vRs`PuTRbCRvUvzzhCT$fzJe7(?GBZBwc zfqhs0v({G!-_~?C;hyCF@SN?9zc0hi9IoLiQo6(+vgz&fYb_kkw!njv{+${~fG=c^i?EdSvw zkuD^>SAO2bin}*ld95_%xR3ZBcU>|=)b&NA8 z=U%lC3Xwb2`?So&-t2o@Tt%?qj^D-)>)vLcjVO0~_w)z%mc8$9iRIq^Ffq~E(u37g z)1y5|IMsbq>i)Oanan>dTzJ0Zp@!_=sK~P885uPzRPDOG6K;gXJ?O5FH9hxN_W%Ra Wia%XpEQh^8<*28tpUXO@geCyiVI1fH literal 0 HcmV?d00001 diff --git a/browser/themes/gnomestripe/share-button.png b/browser/themes/gnomestripe/share-button.png new file mode 100644 index 0000000000000000000000000000000000000000..86bd5ec70add448cfa5647e9448d9bb2ea5349a9 GIT binary patch literal 1245 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`k|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*9U+n3Xa^B1$5BeXNr6bM+EIYV;~{3xK*A7;Nk-3KEmEQ%e+* zQqwc@Y?a>c-mj#PnPRIHZt82`Ti~3Uk?B!Ylp0*+7m{3+ootz+WN)WnQ(*-(AUCxn zQK2F?C$HG5!d3}vt`(3C64qBz04piUwpD^SD#ABF!8yMuRl!uxKsVXI%s|1+P|wiV z#N6CmN5ROz&_Lh7NZ-&%*U;R`*vQJjKmiJrfVLH-q*(>IxIyg#@@$ndN=gc>^!3Zj z%k|2Q_413-^$jg8EkR}&8R-I5=oVMzl_XZ^<`pZ$OmImpPAEg{v+u2}(t{7puX=A(aKG z`a!A1`K3k4z=%sz23b{L-^Aq1JP;qO z-q+X4Gq1QLF)umQ)5TT^Xo6m5W{Q=up}Cu>lZ&CNv6H2tp{s$DnT4~38IWZLlrVB} zgXwk2PcF?(%`1WFO+n~2!l@UO6mkoIHoK%2WtOF;xE1B+DuBIgm5I|W&Tcr(gX&Ge z?G^)^di8;h(Fa8=QbfaqfT;(>geO}d2cGa#^MI+n2$-yer@y|;z`z*j>EaktacjzD zd+);mBJB^abSZE+9o(92*RZ;YBhOXC!h@Zay_GA^^@^j5po{L;c;V(L*Q7#@BxyJ8 zFjKIw>}(T$ry(_6^S!2jg}2$V ziN``BF8yb$-eu{NUD5tG>Y(wx)a}2%OO>(Sxc)6M)qcW* z#L`SX;a@x{M{CzPA2kc-mj#PnPRIHZt82`Ti~3Uk?B!Ylp0*+7m{3+ootz+WN)WnQ(*-(AUCxn zQK2F?C$HG5!d3}vt`(3C64qBz04piUwpD^SD#ABF!8yMuRl!uxKsVXI%s|1+P|wiV z#N6CmN5ROz&_Lh7NZ-&%*U;R`*vQJjKmiJrfVLH-q*(>IxIyg#@@$ndN=gc>^!3Zj z%k|2Q_413-^$jg8EkR}&8R-I5=oVMzl_XZ^<`pZ$OmImpPAEg{v+u2}(t{7puX=A(aKG z`a!A1`K3k4z=%sz23b{L-^Aq1JP;qO z-q+X4Gq1QLF)umQ)5TT^Xo6m5W{Q=up}Cu>lZ&aVv6H2tp{s$DnT4~38IWZLlrVB} zgXwk2PcF?(%`1WFO+n~2!>JdP6mkoIHoK%2WtOF;xE1B+DuBIgm5JLe#yHJ`>P^Az z789I$^?{Dj2SqGWM8kxDsRzV_CtDx~p72xifT_I*n5@6tj!tD@U<~ziaSW-rmGtBP ze|zSY5vl*x%@pQwCK($};0XC%J1P0c_x}b0%Nu{_EXfGF`S~EH$65z5@eBj1X%3tBdDc33uAaCa0p++e%Q;1*Ei!X8w-zWLBYgDV@91Ex2|6!UgOC$QOi zUrRYMYeIuieIutTcL#GL(Cwd@Kbk0rF`c@}l*z7O*L0cHK*8{Dkp3j@ZTn7K`Ro|p zY_7?iyOKSrRH2Uj$jcj|f+uz@5zopr E08!kg%>V!Z literal 0 HcmV?d00001 diff --git a/browser/themes/pinstripe/share-button-shared.png b/browser/themes/pinstripe/share-button-shared.png new file mode 100644 index 0000000000000000000000000000000000000000..cb8a11e81d899117cc02c924525c99182b7b8166 GIT binary patch literal 1460 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`k|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*9U+n3Xa^B1$5BeXNr6bM+EIYV;~{3xK*A7;Nk-3KEmEQ%e+* zQqwc@Y?a>c-mj#PnPRIHZt82`Ti~3Uk?B!Ylp0*+7m{3+ootz+WN)WnQ(*-(AUCxn zQK2F?C$HG5!d3}vt`(3C64qBz04piUwpD^SD#ABF!8yMuRl!uxKsVXI%s|1+P|wiV z#N6CmN5ROz&_Lh7NZ-&%*U;R`*vQJjKmiJrfVLH-q*(>IxIyg#@@$ndN=gc>^!3Zj z%k|2Q_413-^$jg8EkR}&8R-I5=oVMzl_XZ^<`pZ$OmImpPAEg{v+u2}(t{7puX=A(aKG z`a!A1`K3k4z=%sz23b{L-^Aq1JP;qO z-q+X4Gq1QLF)umQ)5TT^Xo6m5W{Q=miIbtBv7582v6H2tp{s$DnT4~38IWaWXzpg@ z;s(>}lAm0fo0?Yw)0=|O>w;4+C@JI?0Bv?jEy^rQO>ryA&s6|>*(wvaTO4tk2i2Q` z+bvEw_38s1qYsK$q=<$I0aFi%2~V~_4m{zf<^fZC5inV|2bpeWU|`blba4!+xHV<+ z!R#vzBFECzPM#@Sz2kyygn_cH$j1ks+DB)1b*vB#5lHFpstDk3I#DM0GAwq_5B`b} zu4`dBaV{<)+t_Vio^95cT(WkzQ~AZ5$vKlg`rgP{th0?xZt~2^{pR;;Di5|UWx92s zdAH-08^124tX;phy5|44?kDz%xj+AY>Ig25%WNz2TRV~WfFZ|1{k>cH7deC(&o-_u ziS7S>(kg*}TU^&_HdC=13a5n+EK=wa{#vRs`PuTRbCRvUvzzhCT$fzJe7(?GBZBwc zfqhs0v({G!-_~?C;hyCF@SN?9zc0hi9IoLiQo6(+vgz&fYb_kkw!njv{+${~fG=c^i?EdSvw zkuD^>SAO2bin}*ld95_%xR3ZBcU>|=)b&NA8 z=U%lC3Xwb2`?So&-t2o@Tt%?qj^D-)>)vLcjVO0~_w)z%mc8$9iRIq^Ffq~E(u37g z)1y5|IMsbq>i)Oanan>dTzJ0Zp@!_=sK~P885uPzRPDOG6K;gXJ?O5FH9hxN_W%Ra Wia%XpEQh^8<*28tpUXO@geCyiVI1fH literal 0 HcmV?d00001 diff --git a/browser/themes/pinstripe/share-button.png b/browser/themes/pinstripe/share-button.png new file mode 100644 index 0000000000000000000000000000000000000000..86bd5ec70add448cfa5647e9448d9bb2ea5349a9 GIT binary patch literal 1245 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`k|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*9U+n3Xa^B1$5BeXNr6bM+EIYV;~{3xK*A7;Nk-3KEmEQ%e+* zQqwc@Y?a>c-mj#PnPRIHZt82`Ti~3Uk?B!Ylp0*+7m{3+ootz+WN)WnQ(*-(AUCxn zQK2F?C$HG5!d3}vt`(3C64qBz04piUwpD^SD#ABF!8yMuRl!uxKsVXI%s|1+P|wiV z#N6CmN5ROz&_Lh7NZ-&%*U;R`*vQJjKmiJrfVLH-q*(>IxIyg#@@$ndN=gc>^!3Zj z%k|2Q_413-^$jg8EkR}&8R-I5=oVMzl_XZ^<`pZ$OmImpPAEg{v+u2}(t{7puX=A(aKG z`a!A1`K3k4z=%sz23b{L-^Aq1JP;qO z-q+X4Gq1QLF)umQ)5TT^Xo6m5W{Q=up}Cu>lZ&CNv6H2tp{s$DnT4~38IWZLlrVB} zgXwk2PcF?(%`1WFO+n~2!l@UO6mkoIHoK%2WtOF;xE1B+DuBIgm5I|W&Tcr(gX&Ge z?G^)^di8;h(Fa8=QbfaqfT;(>geO}d2cGa#^MI+n2$-yer@y|;z`z*j>EaktacjzD zd+);mBJB^abSZE+9o(92*RZ;YBhOXC!h@Zay_GA^^@^j5po{L;c;V(L*Q7#@BxyJ8 zFjKIw>}(T$ry(_6^S!2jg}2$V ziN``BF8yb$-eu{NUD5tG>Y(wx)a}2%OO>(Sxc)6M)qcW* z#L`SX;a@x{M{CzPA2k .ac-url-box > .ac-action- /* social recommending panel */ #share-button { - width: 16px; - height: 16px; + list-style-image: url(chrome://browser/skin/share-button.png); +} + +#share-button:not([shared]):not([disabled]):hover { + list-style-image: url(chrome://browser/skin/share-button-active.png); +} + +#share-button[shared] { + list-style-image: url(chrome://browser/skin/share-button-shared.png); } #socialUserPortrait { diff --git a/browser/themes/winstripe/jar.mn b/browser/themes/winstripe/jar.mn index 345dc068648c..2e1678e807db 100644 --- a/browser/themes/winstripe/jar.mn +++ b/browser/themes/winstripe/jar.mn @@ -50,6 +50,9 @@ browser.jar: skin/classic/browser/searchbar.css (searchbar.css) skin/classic/browser/searchbar-dropdown-arrow.png skin/classic/browser/setDesktopBackground.css + skin/classic/browser/share-button.png + skin/classic/browser/share-button-active.png + skin/classic/browser/share-button-shared.png skin/classic/browser/menu-back.png (menu-back.png) skin/classic/browser/menu-forward.png (menu-forward.png) skin/classic/browser/monitor.png @@ -251,6 +254,9 @@ browser.jar: skin/classic/aero/browser/searchbar.css (searchbar.css) skin/classic/aero/browser/searchbar-dropdown-arrow.png (searchbar-dropdown-arrow-aero.png) skin/classic/aero/browser/setDesktopBackground.css + skin/classic/aero/browser/share-button.png + skin/classic/aero/browser/share-button-active.png + skin/classic/aero/browser/share-button-shared.png skin/classic/aero/browser/menu-back.png (menu-back-aero.png) skin/classic/aero/browser/menu-forward.png (menu-forward-aero.png) skin/classic/aero/browser/monitor.png diff --git a/browser/themes/winstripe/share-button-active.png b/browser/themes/winstripe/share-button-active.png new file mode 100644 index 0000000000000000000000000000000000000000..a87501e89b3112b507b9385d43d021e7700fb150 GIT binary patch literal 1249 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`k|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*9U+n3Xa^B1$5BeXNr6bM+EIYV;~{3xK*A7;Nk-3KEmEQ%e+* zQqwc@Y?a>c-mj#PnPRIHZt82`Ti~3Uk?B!Ylp0*+7m{3+ootz+WN)WnQ(*-(AUCxn zQK2F?C$HG5!d3}vt`(3C64qBz04piUwpD^SD#ABF!8yMuRl!uxKsVXI%s|1+P|wiV z#N6CmN5ROz&_Lh7NZ-&%*U;R`*vQJjKmiJrfVLH-q*(>IxIyg#@@$ndN=gc>^!3Zj z%k|2Q_413-^$jg8EkR}&8R-I5=oVMzl_XZ^<`pZ$OmImpPAEg{v+u2}(t{7puX=A(aKG z`a!A1`K3k4z=%sz23b{L-^Aq1JP;qO z-q+X4Gq1QLF)umQ)5TT^Xo6m5W{Q=up}Cu>lZ&aVv6H2tp{s$DnT4~38IWZLlrVB} zgXwk2PcF?(%`1WFO+n~2!>JdP6mkoIHoK%2WtOF;xE1B+DuBIgm5JLe#yHJ`>P^Az z789I$^?{Dj2SqGWM8kxDsRzV_CtDx~p72xifT_I*n5@6tj!tD@U<~ziaSW-rmGtBP ze|zSY5vl*x%@pQwCK($};0XC%J1P0c_x}b0%Nu{_EXfGF`S~EH$65z5@eBj1X%3tBdDc33uAaCa0p++e%Q;1*Ei!X8w-zWLBYgDV@91Ex2|6!UgOC$QOi zUrRYMYeIuieIutTcL#GL(Cwd@Kbk0rF`c@}l*z7O*L0cHK*8{Dkp3j@ZTn7K`Ro|p zY_7?iyOKSrRH2Uj$jcj|f+uz@5zopr E08!kg%>V!Z literal 0 HcmV?d00001 diff --git a/browser/themes/winstripe/share-button-shared.png b/browser/themes/winstripe/share-button-shared.png new file mode 100644 index 0000000000000000000000000000000000000000..cb8a11e81d899117cc02c924525c99182b7b8166 GIT binary patch literal 1460 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`k|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*9U+n3Xa^B1$5BeXNr6bM+EIYV;~{3xK*A7;Nk-3KEmEQ%e+* zQqwc@Y?a>c-mj#PnPRIHZt82`Ti~3Uk?B!Ylp0*+7m{3+ootz+WN)WnQ(*-(AUCxn zQK2F?C$HG5!d3}vt`(3C64qBz04piUwpD^SD#ABF!8yMuRl!uxKsVXI%s|1+P|wiV z#N6CmN5ROz&_Lh7NZ-&%*U;R`*vQJjKmiJrfVLH-q*(>IxIyg#@@$ndN=gc>^!3Zj z%k|2Q_413-^$jg8EkR}&8R-I5=oVMzl_XZ^<`pZ$OmImpPAEg{v+u2}(t{7puX=A(aKG z`a!A1`K3k4z=%sz23b{L-^Aq1JP;qO z-q+X4Gq1QLF)umQ)5TT^Xo6m5W{Q=miIbtBv7582v6H2tp{s$DnT4~38IWaWXzpg@ z;s(>}lAm0fo0?Yw)0=|O>w;4+C@JI?0Bv?jEy^rQO>ryA&s6|>*(wvaTO4tk2i2Q` z+bvEw_38s1qYsK$q=<$I0aFi%2~V~_4m{zf<^fZC5inV|2bpeWU|`blba4!+xHV<+ z!R#vzBFECzPM#@Sz2kyygn_cH$j1ks+DB)1b*vB#5lHFpstDk3I#DM0GAwq_5B`b} zu4`dBaV{<)+t_Vio^95cT(WkzQ~AZ5$vKlg`rgP{th0?xZt~2^{pR;;Di5|UWx92s zdAH-08^124tX;phy5|44?kDz%xj+AY>Ig25%WNz2TRV~WfFZ|1{k>cH7deC(&o-_u ziS7S>(kg*}TU^&_HdC=13a5n+EK=wa{#vRs`PuTRbCRvUvzzhCT$fzJe7(?GBZBwc zfqhs0v({G!-_~?C;hyCF@SN?9zc0hi9IoLiQo6(+vgz&fYb_kkw!njv{+${~fG=c^i?EdSvw zkuD^>SAO2bin}*ld95_%xR3ZBcU>|=)b&NA8 z=U%lC3Xwb2`?So&-t2o@Tt%?qj^D-)>)vLcjVO0~_w)z%mc8$9iRIq^Ffq~E(u37g z)1y5|IMsbq>i)Oanan>dTzJ0Zp@!_=sK~P885uPzRPDOG6K;gXJ?O5FH9hxN_W%Ra Wia%XpEQh^8<*28tpUXO@geCyiVI1fH literal 0 HcmV?d00001 diff --git a/browser/themes/winstripe/share-button.png b/browser/themes/winstripe/share-button.png new file mode 100644 index 0000000000000000000000000000000000000000..86bd5ec70add448cfa5647e9448d9bb2ea5349a9 GIT binary patch literal 1245 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`k|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*9U+n3Xa^B1$5BeXNr6bM+EIYV;~{3xK*A7;Nk-3KEmEQ%e+* zQqwc@Y?a>c-mj#PnPRIHZt82`Ti~3Uk?B!Ylp0*+7m{3+ootz+WN)WnQ(*-(AUCxn zQK2F?C$HG5!d3}vt`(3C64qBz04piUwpD^SD#ABF!8yMuRl!uxKsVXI%s|1+P|wiV z#N6CmN5ROz&_Lh7NZ-&%*U;R`*vQJjKmiJrfVLH-q*(>IxIyg#@@$ndN=gc>^!3Zj z%k|2Q_413-^$jg8EkR}&8R-I5=oVMzl_XZ^<`pZ$OmImpPAEg{v+u2}(t{7puX=A(aKG z`a!A1`K3k4z=%sz23b{L-^Aq1JP;qO z-q+X4Gq1QLF)umQ)5TT^Xo6m5W{Q=up}Cu>lZ&CNv6H2tp{s$DnT4~38IWZLlrVB} zgXwk2PcF?(%`1WFO+n~2!l@UO6mkoIHoK%2WtOF;xE1B+DuBIgm5I|W&Tcr(gX&Ge z?G^)^di8;h(Fa8=QbfaqfT;(>geO}d2cGa#^MI+n2$-yer@y|;z`z*j>EaktacjzD zd+);mBJB^abSZE+9o(92*RZ;YBhOXC!h@Zay_GA^^@^j5po{L;c;V(L*Q7#@BxyJ8 zFjKIw>}(T$ry(_6^S!2jg}2$V ziN``BF8yb$-eu{NUD5tG>Y(wx)a}2%OO>(Sxc)6M)qcW* z#L`SX;a@x{M{CzPA2k