Backed out changeset 1633907c75b7
authorKyle Huey <khuey@kylehuey.com>
Wed, 08 Sep 2010 07:39:35 -0400
changeset 52179 225690b9d9f699c7465de1df88a4ab56a8cda462
parent 52177 1633907c75b711850807b8f7c41952381fbc0de1
child 52180 360f315ba90a12df5a990d72e00739457769f01e
push id1
push userroot
push dateTue, 26 Apr 2011 22:38:44 +0000
treeherdermozilla-beta@bfdb6e623a36 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
milestone2.0b6pre
backs out1633907c75b711850807b8f7c41952381fbc0de1
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
Backed out changeset 1633907c75b7
browser/app/profile/firefox.js
browser/base/content/browser.css
browser/base/content/browser.js
browser/base/content/browser.xul
browser/base/content/test/browser_discovery.js
browser/base/content/test/browser_drag.js
browser/components/sidebar/src/nsSidebar.js
browser/themes/gnomestripe/browser/browser.css
browser/themes/gnomestripe/browser/jar.mn
browser/themes/gnomestripe/browser/searchbar.css
browser/themes/gnomestripe/browser/urlbar-favicon-glow.png
browser/themes/pinstripe/browser/browser.css
browser/themes/pinstripe/browser/jar.mn
browser/themes/pinstripe/browser/urlbar-favicon-glow.png
browser/themes/winstripe/browser/browser.css
browser/themes/winstripe/browser/identity-button-dropdown.png
browser/themes/winstripe/browser/jar.mn
browser/themes/winstripe/browser/urlbar-favicon-glow.png
extensions/cookie/test/browser_test_favicon.js
--- a/browser/app/profile/firefox.js
+++ b/browser/app/profile/firefox.js
@@ -836,22 +836,20 @@ pref("places.frecency.unvisitedBookmarkB
 pref("places.frecency.unvisitedTypedBonus", 200);
 
 // Controls behavior of the "Add Exception" dialog launched from SSL error pages
 // 0 - don't pre-populate anything
 // 1 - pre-populate site URL, but don't fetch certificate
 // 2 - pre-populate site URL and pre-fetch certificate
 pref("browser.ssl_override_behavior", 2);
 
-// Controls the display of domain in the identity box.
+// Controls the display of domain in the identity box for SSL connections.
 // 0 - do not show domain
 // 1 - show effectiveTLD + 1 (e.g. mozilla.org)
 // 2 - show full domain (e.g. bugzilla.mozilla.org)
-pref("browser.identity.domain_display", 1);
-// Same as above, for SSL connections.
 pref("browser.identity.ssl_domain_display", 1);
 
 // True if the user should be prompted when a web application supports
 // offline apps.
 pref("browser.offline-apps.notify", true);
 
 // if true, use full page zoom instead of text zoom
 pref("browser.zoom.full", true);
--- a/browser/base/content/browser.css
+++ b/browser/base/content/browser.css
@@ -176,16 +176,21 @@ richlistitem[type~="action"]:-moz-locale
 #PopupAutoComplete {
   -moz-binding: url("chrome://browser/content/urlbarBindings.xml#browser-autocomplete-result-popup");
 }
 
 #PopupAutoCompleteRichResult {
   -moz-binding: url("chrome://browser/content/urlbarBindings.xml#urlbar-rich-result-popup");
 }
 
+#urlbar-throbber:not([busy="true"]),
+#urlbar-throbber[busy="true"] + #page-proxy-favicon {
+  display: none;
+}
+
 #feed-button > .button-box > .box-inherit > .button-text,
 #feed-button > .button-box > .button-menu-dropmarker {
   display: none;
 }
 
 #feed-menu > .feed-menuitem:-moz-locale-dir(rtl) {
   direction: rtl;
 }
@@ -202,17 +207,17 @@ richlistitem[type~="action"]:-moz-locale
 #identity-icon-labels {
   max-width: 18em;
 }
 
 #identity-icon-country-label {
   direction: ltr;
 }
 
-#identity-box.verifiedIdentity > #identity-icon-labels > #identity-icon-label {
+#identity-box.verifiedIdentity > #identity-box-inner > #identity-icon-labels > #identity-icon-label {
   -moz-margin-end: 0.25em !important;
 }
 
 #wrapper-search-container > #search-container > #searchbar > .searchbar-textbox > .autocomplete-textbox-container > .textbox-input-box > html|*.textbox-input {
   visibility: hidden;
 }
 
 /* ::::: Unified Back-/Forward Button ::::: */
--- a/browser/base/content/browser.js
+++ b/browser/base/content/browser.js
@@ -72,16 +72,17 @@ let Cu = Components.utils;
 
 Cu.import("resource://gre/modules/XPCOMUtils.jsm");
 
 const nsIWebNavigation = Ci.nsIWebNavigation;
 
 var gCharsetMenu = null;
 var gLastBrowserCharset = null;
 var gPrevCharset = null;
+var gProxyFavIcon = null;
 var gLastValidURLStr = "";
 var gInPrintPreviewMode = false;
 var gDownloadMgr = null;
 var gContextMenu = null; // nsContextMenu instance
 
 #ifndef XP_MACOSX
 var gEditUIVisible = true;
 #endif
@@ -2385,53 +2386,82 @@ function UpdateUrlbarSearchSplitterState
 }
 
 var LocationBarHelpers = {
   _timeoutID: null,
 
   _searchBegin: function LocBar_searchBegin() {
     function delayedBegin(self) {
       self._timeoutID = null;
-      gURLBar.setAttribute("searching", "true");
+      document.getElementById("urlbar-throbber").setAttribute("busy", "true");
     }
 
     this._timeoutID = setTimeout(delayedBegin, 500, this);
   },
 
   _searchComplete: function LocBar_searchComplete() {
     // Did we finish the search before delayedBegin was invoked?
     if (this._timeoutID) {
       clearTimeout(this._timeoutID);
       this._timeoutID = null;
     }
-    gURLBar.removeAttribute("searching");
+    document.getElementById("urlbar-throbber").removeAttribute("busy");
   }
 };
 
 function UpdatePageProxyState()
 {
   if (gURLBar && gURLBar.value != gLastValidURLStr)
     SetPageProxyState("invalid");
 }
 
 function SetPageProxyState(aState)
 {
   if (!gURLBar)
     return;
 
+  if (!gProxyFavIcon)
+    gProxyFavIcon = document.getElementById("page-proxy-favicon");
+
   gURLBar.setAttribute("pageproxystate", aState);
+  gProxyFavIcon.setAttribute("pageproxystate", aState);
 
   // the page proxy state is set to valid via OnLocationChange, which
   // gets called when we switch tabs.
   if (aState == "valid") {
     gLastValidURLStr = gURLBar.value;
     gURLBar.addEventListener("input", UpdatePageProxyState, false);
+
+    PageProxySetIcon(gBrowser.getIcon());
   } else if (aState == "invalid") {
     gURLBar.removeEventListener("input", UpdatePageProxyState, false);
-  }
+    PageProxyClearIcon();
+  }
+}
+
+function PageProxySetIcon (aURL)
+{
+  if (!gProxyFavIcon)
+    return;
+
+  if (!aURL)
+    PageProxyClearIcon();
+  else if (gProxyFavIcon.getAttribute("src") != aURL)
+    gProxyFavIcon.setAttribute("src", aURL);
+}
+
+function PageProxyClearIcon ()
+{
+  gProxyFavIcon.removeAttribute("src");
+}
+
+function PageProxyClickHandler(aEvent)
+{
+  if (aEvent.button == 1 && gPrefService.getBoolPref("middlemouse.paste"))
+    middleMousePaste(aEvent);
 }
 
 function BrowserImport()
 {
 #ifdef XP_MACOSX
   var wm = Components.classes["@mozilla.org/appshell/window-mediator;1"]
                      .getService(Components.interfaces.nsIWindowMediator);
   var win = wm.getMostRecentWindow("Browser:MigrationWizard");
@@ -2837,16 +2867,34 @@ var browserDragAndDrop = {
         statusTextFld.label = gNavigatorBundle.getString(statusString);
       }
     }
   },
 
   drop: function (aEvent, aName) Services.droppedLinkHandler.dropLink(aEvent, aName)
 }
 
+var proxyIconDNDObserver = {
+  onDragStart: function (aEvent, aXferData, aDragAction)
+    {
+      if (gProxyFavIcon.getAttribute("pageproxystate") != "valid")
+        return;
+
+      var value = content.location.href;
+      var urlString = value + "\n" + content.document.title;
+      var htmlString = "<a href=\"" + value + "\">" + value + "</a>";
+
+      var dt = aEvent.dataTransfer;
+      dt.setData("text/x-moz-url", urlString);
+      dt.setData("text/uri-list", value);
+      dt.setData("text/plain", value);
+      dt.setData("text/html", htmlString);
+    }
+}
+
 var homeButtonObserver = {
   onDrop: function (aEvent)
     {
       setTimeout(openHomeDialog, 0, browserDragAndDrop.drop(aEvent, { }));
     },
 
   onDragOver: function (aEvent)
     {
@@ -3450,16 +3498,17 @@ function BrowserToolboxCustomizeDone(aTo
     document.getElementById("customizeToolbarSheetIFrame").hidden = true;
     document.getElementById("customizeToolbarSheetPopup").hidePopup();
   }
 
   // Update global UI elements that may have been added or removed
   if (aToolboxChanged) {
     gURLBar = document.getElementById("urlbar");
 
+    gProxyFavIcon = document.getElementById("page-proxy-favicon");
     gHomeButton.updateTooltip();
     gIdentityHandler._cacheElements();
     window.XULBrowserWindow.init();
 
     var backForwardDropmarker = document.getElementById("back-forward-dropmarker");
     if (backForwardDropmarker)
       backForwardDropmarker.disabled =
         document.getElementById('Browser:Back').hasAttribute('disabled') &&
@@ -4002,16 +4051,21 @@ var XULBrowserWindow = {
     // check the current value so we don't trigger an attribute change
     // and cause needless (slow!) UI updates
     if (this.statusText != text) {
       this.statusTextField.label = text;
       this.statusText = text;
     }
   },
 
+  onLinkIconAvailable: function (aIconURL) {
+    if (gProxyFavIcon && gBrowser.userTypedValue === null)
+      PageProxySetIcon(aIconURL); // update the favicon in the URL bar
+  },
+
   onProgressChange: function (aWebProgress, aRequest,
                               aCurSelfProgress, aMaxSelfProgress,
                               aCurTotalProgress, aMaxTotalProgress) {
     // Check this._busyUI to be safe, because we don't want to update
     // the progress meter when restoring a page from bfcache.
     if (aMaxTotalProgress > 0 && this._busyUI) {
       // This is highly optimized.  Don't touch this code unless
       // you are intimately familiar with the cost of setting
@@ -7052,23 +7106,16 @@ var gIdentityHandler = {
       icon_labels_dir = /^[\u0590-\u08ff\ufb1d-\ufdff\ufe70-\ufefc]/.test(icon_label) ?
                         "rtl" : "ltr";
     }
     else {
       tooltip = gNavigatorBundle.getString("identity.unknown.tooltip");
       icon_label = "";
       icon_country_label = "";
       icon_labels_dir = "ltr";
-      switch (Services.prefs.getIntPref("browser.identity.domain_display")) {
-        case 2 : // Show full domain
-          icon_label = this._lastLocation.hostname;
-          break;
-        case 1 : // Show eTLD.
-          icon_label = this.getEffectiveHost();
-      }
     }
 
     // Push the appropriate strings out to the UI
     this._identityBox.tooltipText = tooltip;
     this._identityIconLabel.value = icon_label;
     this._identityIconCountryLabel.value = icon_country_label;
     // Set cropping and direction
     this._identityIconLabel.crop = icon_country_label ? "end" : "center";
@@ -7140,21 +7187,16 @@ var gIdentityHandler = {
 
   /**
    * Click handler for the identity-box element in primary chrome.
    */
   handleIdentityButtonEvent : function(event) {
 
     event.stopPropagation();
 
-    if (event.button == 1 && Services.prefs.getBoolPref("middlemouse.paste")) {
-      middleMousePaste(event);
-      return;
-    }
-
     if ((event.type == "click" && event.button != 0) ||
         (event.type == "keypress" && event.charCode != KeyEvent.DOM_VK_SPACE &&
          event.keyCode != KeyEvent.DOM_VK_RETURN))
       return; // Left click, space or enter only
 
     // Revert the contents of the location bar, see bug 406779
     gURLBar.handleRevert();
 
@@ -7178,32 +7220,16 @@ var gIdentityHandler = {
     var self = this;
     this._identityPopup.addEventListener("popuphidden", function (e) {
       e.currentTarget.removeEventListener("popuphidden", arguments.callee, false);
       self._identityBox.removeAttribute("open");
     }, false);
 
     // Now open the popup, anchored off the primary chrome element
     this._identityPopup.openPopup(this._identityBox, position);
-  },
-
-  onDragStart: function (event) {
-    if (gURLBar.getAttribute("pageproxystate") != "valid")
-      return;
-
-    var value = content.location.href;
-    var urlString = value + "\n" + content.document.title;
-    var htmlString = "<a href=\"" + value + "\">" + value + "</a>";
-
-    var dt = event.dataTransfer;
-    dt.setData("text/x-moz-url", urlString);
-    dt.setData("text/uri-list", value);
-    dt.setData("text/plain", value);
-    dt.setData("text/html", htmlString);
-    dt.setDragImage(event.currentTarget, 0, 0);
   }
 };
 
 let DownloadMonitorPanel = {
   //////////////////////////////////////////////////////////////////////////////
   //// DownloadMonitorPanel Member Variables
 
   _panel: null,
--- a/browser/base/content/browser.xul
+++ b/browser/base/content/browser.xul
@@ -871,36 +871,40 @@
                  oninput="gBrowser.userTypedValue = this.value;"
                  ontextentered="this.handleCommand(param);"
                  ontextreverted="return this.handleRevert();"
                  pageproxystate="invalid"
                  onsearchbegin="LocationBarHelpers._searchBegin();"
                  onsearchcomplete="LocationBarHelpers._searchComplete();"
                  onfocus="document.getElementById('identity-box').style.MozUserFocus= 'normal'"
                  onblur="setTimeout(function() document.getElementById('identity-box').style.MozUserFocus = '', 0);">
+          <box id="notification-popup-box" hidden="true" align="center">
+            <image id="geo-notification-icon" class="notification-anchor-icon" role="button"/>
+            <image id="addons-notification-icon" class="notification-anchor-icon" role="button"/>
+          </box>
           <!-- Use onclick instead of normal popup= syntax since the popup
                code fires onmousedown, and hence eats our favicon drag events.
                We only add the identity-box button to the tab order when the location bar
                has focus, otherwise pressing F6 focuses it instead of the location bar -->
-          <box id="identity-container">
-            <hbox id="notification-popup-box" hidden="true" align="center">
-              <image id="geo-notification-icon" class="notification-anchor-icon" role="button"/>
-              <image id="addons-notification-icon" class="notification-anchor-icon" role="button"/>
-            </hbox>
-            <hbox id="identity-box"
-                  align="center"
-                  role="button"
-                  onclick="gIdentityHandler.handleIdentityButtonEvent(event);"
-                  onkeypress="gIdentityHandler.handleIdentityButtonEvent(event);"
-                  ondragstart="gIdentityHandler.onDragStart(event);">
+          <box id="identity-box" role="button"
+               onclick="gIdentityHandler.handleIdentityButtonEvent(event);"
+               onkeypress="gIdentityHandler.handleIdentityButtonEvent(event);">
+            <hbox id="identity-box-inner" align="center">
+              <stack id="page-proxy-stack"
+                     onclick="PageProxyClickHandler(event);">
+                <image id="urlbar-throbber" busy="false"/>
+                <image id="page-proxy-favicon" validate="never"
+                       pageproxystate="invalid"
+                       ondragstart="proxyIconDNDObserver.onDragStart(event);"
+                       onerror="this.removeAttribute('src');"/>
+              </stack>
               <hbox id="identity-icon-labels">
                 <label id="identity-icon-label" class="plain" flex="1"/>
                 <label id="identity-icon-country-label" class="plain"/>
               </hbox>
-              <image id="identity-dropmarker"/>
             </hbox>
           </box>
           <label id="urlbar-display" value="&urlbar.switchToTab.label;"/>
           <hbox id="urlbar-icons">
             <button type="menu"
                     style="-moz-user-focus: none"
                     class="plain urlbar-icon"
                     id="feed-button"
--- a/browser/base/content/test/browser_discovery.js
+++ b/browser/base/content/test/browser_discovery.js
@@ -31,31 +31,31 @@ var iconDiscoveryTests = [
   { href: "notthere.png", text: "404'd icon is removed properly" },
   { href: "data:image/x-icon,%00", type: "image/x-icon", text: "data: URIs work" },
   { type: "image/png; charset=utf-8", text: "type may have optional parameters (RFC2046)" }
 ];
 
 function runIconDiscoveryTest() {
   var test = iconDiscoveryTests[0];
   var head = doc().getElementById("linkparent");
-  var hasSrc = gBrowser.getIcon() != null;
+  var hasSrc = gProxyFavIcon.hasAttribute("src");
   if (test.pass)
     ok(hasSrc, test.text);
   else
     ok(!hasSrc, test.text);
 
   head.removeChild(head.getElementsByTagName('link')[0]);
   iconDiscoveryTests.shift();
   iconDiscovery(); // Run the next test.
 }
 
 function iconDiscovery() {
   setHandlerFunc(runIconDiscoveryTest);
   if (iconDiscoveryTests.length) {
-    gBrowser.setIcon(gBrowser.selectedTab, null);
+    gProxyFavIcon.removeAttribute("src");
 
     var test = iconDiscoveryTests[0];
     var head = doc().getElementById("linkparent");
     var link = doc().createElement("link");
 
     var rel = test.rel || "icon";
     var href = test.href || "chrome://mochikit/content/browser/browser/base/content/test/moz.png";
     var type = test.type || "image/png";
--- a/browser/base/content/test/browser_drag.js
+++ b/browser/base/content/test/browser_drag.js
@@ -12,21 +12,22 @@ function test()
     { type  : "text/uri-list",
       data  : value },
     { type  : "text/plain",
       data  : value },
     { type  : "text/html",
       data  : htmlString }
   ] ];
   // set the valid attribute so dropping is allowed
-  var oldstate = gURLBar.getAttribute("pageproxystate");
-  gURLBar.setAttribute("pageproxystate", "valid");
-  var dt = EventUtils.synthesizeDragStart(document.getElementById("identity-box"), expected);
+  var proxyicon = document.getElementById("page-proxy-favicon")
+  var oldstate = proxyicon.getAttribute("pageproxystate");
+  proxyicon.setAttribute("pageproxystate", "valid");
+  var dt = EventUtils.synthesizeDragStart(proxyicon, expected);
   is(dt, null, "drag on proxy icon");
-  gURLBar.setAttribute("pageproxystate", oldstate);
+  proxyicon.setAttribute("pageproxystate", oldstate);
   // Now, the identity information panel is opened by the proxy icon click.
   // We need to close it for next tests.
   EventUtils.synthesizeKey("VK_ESCAPE", {}, window);
 
   // now test dragging onto a tab
   var tab = gBrowser.addTab("about:blank", {skipAnimation: true});
   var browser = gBrowser.getBrowserForTab(tab);
 
--- a/browser/components/sidebar/src/nsSidebar.js
+++ b/browser/components/sidebar/src/nsSidebar.js
@@ -192,17 +192,17 @@ function (aDescriptionURL)
   var win = WINMEDSVC.getMostRecentWindow("navigator:browser");
   var browser = win.document.getElementById("content");
   var iconURL = "";
   // Use documentURIObject in the check for shouldLoadFavIcon so that we
   // do the right thing with about:-style error pages.  Bug 453442
   if (browser.shouldLoadFavIcon(browser.selectedBrowser
                                        .contentDocument
                                        .documentURIObject))
-    iconURL = win.gBrowser.getIcon();
+    iconURL = win.gProxyFavIcon.getAttribute("src");
   
   if (!this.validateSearchEngine(aDescriptionURL, iconURL))
     return;
 
   const typeXML = Components.interfaces.nsISearchEngine.DATA_XML;
   this.searchService.addEngine(aDescriptionURL, typeXML, iconURL, true);
 }
 
--- a/browser/themes/gnomestripe/browser/browser.css
+++ b/browser/themes/gnomestripe/browser/browser.css
@@ -872,70 +872,79 @@ toolbar[iconsize="small"] #fullscreen-bu
 #PopupAutoComplete:-moz-locale-dir(rtl) > tree > treerows {
   direction: rtl;
 }
 
 #PopupAutoComplete .autocomplete-treebody {
   direction: ltr;
 }
 
-/* Identity indicator */
-
-#identity-container {
-  min-height: 20px;
+/* Favicon */
+#page-proxy-favicon,
+#urlbar-throbber {
+  width: 16px;
+  height: 16px;
 }
 
-#identity-container:-moz-locale-dir(rtl) {
-  -moz-border-start: 1px solid ThreeDShadow;
+#page-proxy-stack {
+  width: 24px;
+  height: 20px;
+  padding: 2px 4px;
+  background: url(urlbar-favicon-glow.png) center center no-repeat;
 }
 
-#notification-popup-box,
-#identity-box {
-  background-color: rgb(95%,95%,95%);
-  background-image: -moz-linear-gradient(rgba(170,170,170,.25), rgba(0,0,0,.3));
-  -moz-border-end: 1px solid ThreeDShadow;
-  color: #444;
-  text-shadow: 0 1px 0 rgba(255,255,255,.25);
+#page-proxy-favicon:not([src]) {
+  list-style-image: url("chrome://global/skin/icons/folder-item.png");
+  -moz-image-region: rect(0px, 16px, 16px, 0px);
+}
+
+#page-proxy-favicon[pageproxystate="invalid"] {
+  -moz-image-region: rect(16px, 16px, 32px, 0px);
 }
 
+#urlbar-throbber {
+  list-style-image: url("chrome://browser/skin/places/searching_16.png");
+}
+
+/* Identity indicator */
 #identity-box {
-  padding: 0 1px;
+  background: -moz-dialog -moz-linear-gradient(rgba(255,255,255,.25), rgba(0,0,0,.15));
+  color: -moz-dialogtext;
+  -moz-border-end: 1px solid ThreeDShadow;
+}
+
+#identity-box:-moz-locale-dir(rtl) {
+  -moz-border-start: 1px solid ThreeDShadow;
 }
 
 #identity-box:-moz-focusring {
   outline: 1px dotted -moz-DialogText;
 }
 
+#identity-box:hover {
+  background-image: -moz-linear-gradient(rgba(255,255,255,.5), rgba(50%,50%,50%,.2), rgba(0,0,0,.15));
+}
+
 #identity-box:hover:active,
 #identity-box[open="true"] {
   background-image: -moz-linear-gradient(rgba(0,0,0,.4), rgba(0,0,0,.1));
 }
 
 #identity-icon-labels {
-  -moz-padding-start: 4px;
-  -moz-transform: translate(0, -1px);
+  padding: 0 2px;
 }
 
 #identity-box.verifiedDomain {
-  background-color: hsl(219,75%,80%);
-  color: #333;
+  background-color: rgba(30, 80, 170, 0.7);
+  color: white;
 }
 
 #identity-box.verifiedIdentity {
-  background-color: hsl(92,75%,72%);
-}
-
-#identity-dropmarker {
-  -moz-appearance: toolbarbutton-dropdown;
-  width: 12px;
-  height: 12px;
-}
-
-#urlbar[pageproxystate="invalid"] > #identity-container > #identity-box {
-  opacity: .5;
+  background-color: rgba(50, 150, 50, 0.8);
+  color: white;
 }
 
 /* Identity popup icons */
 #identity-popup-icon {
   height: 64px;
   width: 64px;
   padding: 0;
   list-style-image: url("chrome://browser/skin/identity.png");
@@ -1021,19 +1030,18 @@ toolbar[iconsize="small"] #fullscreen-bu
 .popup-notification-icon[popupid="addon-install-failed"],
 .popup-notification-icon[popupid="addon-install-complete"] {
   list-style-image: url(chrome://mozapps/skin/extensions/extensionGeneric.png);
   width: 32px;
   height: 32px;
 }
 
 /* Notification icon box */
-
 #notification-popup-box {
-  padding: 0 3px;
+  margin: 0 3px;
 }
 
 .notification-anchor-icon {
   width: 16px;
   height: 16px;
 }
 
 .notification-anchor-icon:-moz-focusring {
--- a/browser/themes/gnomestripe/browser/jar.mn
+++ b/browser/themes/gnomestripe/browser/jar.mn
@@ -32,16 +32,17 @@ browser.jar:
   skin/classic/browser/section_collapsed.png
   skin/classic/browser/section_collapsed-rtl.png
   skin/classic/browser/section_expanded.png
   skin/classic/browser/Secure.png
   skin/classic/browser/Security-broken.png
   skin/classic/browser/setDesktopBackground.css
   skin/classic/browser/Toolbar.png
   skin/classic/browser/Toolbar-small.png
+  skin/classic/browser/urlbar-favicon-glow.png
   skin/classic/browser/feeds/feedIcon.png             (feeds/feedIcon.png)
   skin/classic/browser/feeds/feedIcon16.png           (feeds/feedIcon16.png)
   skin/classic/browser/feeds/videoFeedIcon.png        (feeds/videoFeedIcon.png)
   skin/classic/browser/feeds/videoFeedIcon16.png      (feeds/videoFeedIcon16.png)
   skin/classic/browser/feeds/audioFeedIcon.png        (feeds/audioFeedIcon.png)
   skin/classic/browser/feeds/audioFeedIcon16.png      (feeds/audioFeedIcon16.png)
   skin/classic/browser/feeds/subscribe.css            (feeds/subscribe.css)
   skin/classic/browser/feeds/subscribe-ui.css         (feeds/subscribe-ui.css)
--- a/browser/themes/gnomestripe/browser/searchbar.css
+++ b/browser/themes/gnomestripe/browser/searchbar.css
@@ -28,27 +28,31 @@
 
 .searchbar-engine-button {
   -moz-appearance: none;
   min-width: 0;
   margin: 0;
   -moz-margin-end: 2px;
   border: 0;
   -moz-box-align: center;
-  background: rgb(95%,95%,95%) -moz-linear-gradient(rgba(170,170,170,.25), rgba(0,0,0,.3));
+  background: -moz-dialog -moz-linear-gradient(rgba(255,255,255,.25), rgba(0,0,0,.15));
   -moz-border-end: 1px solid ThreeDShadow;
 }
 
 .searchbar-engine-button > .button-box {
   -moz-appearance: none;
   padding: 2px 0;
   -moz-padding-end: 2px;
   border: 0;
 }
 
+.searchbar-engine-button:hover {
+  background-image: -moz-linear-gradient(rgba(255,255,255,.5), rgba(50%,50%,50%,.2), rgba(0,0,0,.15));
+}
+
 .searchbar-engine-button:hover:active,
 .searchbar-engine-button[open="true"] {
   background-image: -moz-linear-gradient(rgba(0,0,0,.4), rgba(0,0,0,.1));
 }
 
 .searchbar-engine-button[addengines="true"] {
   -moz-box-shadow: 0 -5px 20px Highlight inset;
 }
new file mode 100644
index 0000000000000000000000000000000000000000..19de6ff972550759b8eedb5b2caf6146d599973f
GIT binary patch
literal 619
zc$@)i0+juUP)<h;3K|Lk000e1NJLTq000;O000;W1^@s6;CDUv00007bV*G`2iOGx
z2?s1NtsPtd000SaNLh0L03N{r03N{s!)a7g00004XF*Lt006JZHwB960005{Nkl<Z
zc-pmAi*AE35DO^-+PxqD|A*7MwOv;VVL4_O>qNDOG$e~OyR&mna;zAJA%+kZf->U*
z;|SQ?+><hTz{YJxCv$x%L`GU=)B-P5IPwI-Bgj884j2ysD~lj*fJ?x}E5wv%1Ug`!
z@t&~*B4S!rU;@jG>x?_RZ!p(DVBrL4!vUn5j90{+D&*=atk%dM02^P;SQSuyf;DE#
zR;s1=XdO3{*4$=10T15@a5E`Tqe52I(jr!HB^Etq++(hRKp|iS9Rw<fAF&r(SXQb)
z1HxPQe}k%OS-s!n9^w(d_p%o?1r`We!biRv1XXT>2dRRV^)COE7o`H8{UrqT<aqLc
zca#NIlFxk`EAWB5(NV|~FOHBGZX6|__a^EEif%k-Nx~ds^_k--qANQ%;-5Zeb9gb*
z41BUbMTHQux<T@7Jd`qFC&A8f=Y!5z7Ub{D@8msl#4vTk17H_N+pbnKN8US*J@QA6
z5&><PIwHXfMhoK^axRMbd;B)R@q5sPsh8Uoe+yq{c@d_DrmZ4~XeW8Ezy?AGRzLyv
zk2MGf1hE(SX2(5ik@tdJ8}HO2w%lEq`gsERZ`!rxK0{<nn{*HKOLT;nD+v7NgR_Q3
zrwV8h$rIE!;qRYJp2VK_pp_)9s>X)@^`mb{#ee_X@(F0w1Dmy^e9!;@002ovPDHLk
FV1f$<0{Z{}
--- a/browser/themes/pinstripe/browser/browser.css
+++ b/browser/themes/pinstripe/browser/browser.css
@@ -694,63 +694,54 @@ toolbar[iconsize="small"][mode="icons"] 
 }
 
 #urlbar-container:not([combined]) > #urlbar {
   -moz-padding-end: 3px;
 }
 
 #identity-box {
   margin: 1px;
-  -moz-margin-end: 3px;
   -moz-border-radius: 2px;
   padding: 1px;
   -moz-box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.1);
   text-shadow: 0 1px rgba(255, 255, 255, 0.2);
-  background-image: -moz-linear-gradient(#eee, #ccc);
-  min-height: 18px;
 }
 
 
 #identity-box:-moz-focusring {
   -moz-box-shadow: 0 0 3px 1px -moz-mac-focusring inset,
                    0 0 3px 2px -moz-mac-focusring;
 }
 
+#identity-box {
+  color: white;
+  text-shadow: 0 1px 1px rgba(0, 0, 0, 0.7);
+  -moz-margin-end: 3px;
+}
+
+#identity-box {
+  background-image: -moz-linear-gradient(#FFF, #DDD);
+}
+
 #identity-box:active:hover,
 #identity-box[open="true"] {
   -moz-box-shadow: inset 0 2px 7px rgba(0, 0, 0, 0.35),
                    inset 0 0 0 20px rgba(0, 0, 0, 0.06);
 }
 
-#identity-box.verifiedDomain,
-#identity-box.verifiedIdentity {
-  color: white;
-  text-shadow: 0 1px 1px rgba(0, 0, 0, 0.7);
-}
-
 #identity-box.verifiedDomain {
   background-image: -moz-linear-gradient(#588EC6, #3C68AE);
 }
 
 #identity-box.verifiedIdentity {
   background-image: -moz-linear-gradient(#84BB40, #5BA020);
 }
 
 #identity-icon-labels {
-  -moz-margin-start: 3px;
-  margin-bottom: 1px;
-}
-
-#identity-dropmarker {
-  list-style-image: url(toolbarbutton-dropmarker.png);
-  margin: 0 3px;
-}
-
-#urlbar[pageproxystate="invalid"] > #identity-container > #identity-box {
-  opacity: .5;
+  margin: 0 4px 1px;
 }
 
 #urlbar > .autocomplete-textbox-container > .textbox-input-box {
   -moz-margin-start: 0;
   padding: 3px 0 2px;
 }
 
 #urlbar-icons {
@@ -761,16 +752,53 @@ toolbar[iconsize="small"][mode="icons"] 
   min-width: 8px;
   width: 8px;
   background-image: none;
   margin: 0 -4px;
   position: relative;
   height: 22px;
 }
 
+#page-proxy-favicon,
+#urlbar-throbber {
+  width: 16px;
+  height: 16px;
+  margin: 0px;
+  padding: 0px;
+}
+
+#page-proxy-stack {
+  width: 18px;
+  height: 16px;
+  padding: 0 1px;
+}
+
+#identity-box.verifiedIdentity > hbox > #page-proxy-stack,
+#identity-box.verifiedDomain > hbox > #page-proxy-stack {
+  width: 24px;
+  padding: 0 4px;
+}
+
+#identity-box.verifiedIdentity > hbox > #page-proxy-stack,
+#identity-box.verifiedDomain > hbox > #page-proxy-stack {
+  background: url(urlbar-favicon-glow.png) center center no-repeat;
+}
+
+#page-proxy-favicon:not([src]) {
+  list-style-image: url("chrome://mozapps/skin/places/defaultFavicon.png");
+}
+
+#page-proxy-favicon[pageproxystate="invalid"] {
+  opacity: 0.5;
+}
+
+#urlbar-throbber {
+  list-style-image: url("chrome://browser/skin/places/searching_16.png");
+}
+
 #wrapper-urlbar-container[place="palette"] {
   max-width: 20em;
 }
 
 #wrapper-urlbar-container > * > * > * > * > #identity-icon-labels,
 #wrapper-urlbar-container > * > * > .autocomplete-history-dropmarker {
   display: none;
 }
@@ -1884,17 +1912,17 @@ toolbarbutton.chevron > .toolbarbutton-m
 
 #notification-popup {
   color: #fff;
   margin-top: -1px;
   margin-left: -27px;
 }
 
 #notification-popup-box {
-  padding: 0 3px;
+  margin: 0 3px;
 }
 
 .notification-anchor-icon {
   width: 16px;
   height: 16px;
   margin: 0 2px;
 }
 
--- a/browser/themes/pinstripe/browser/jar.mn
+++ b/browser/themes/pinstripe/browser/jar.mn
@@ -50,16 +50,17 @@ browser.jar:
   skin/classic/browser/section_collapsed-rtl.png
   skin/classic/browser/section_expanded.png
   skin/classic/browser/Secure-Glyph-White.png
   skin/classic/browser/Secure-statusbar.png
   skin/classic/browser/Secure-statusbar-broken.png
   skin/classic/browser/Secure-background.gif
   skin/classic/browser/Toolbar.png
   skin/classic/browser/toolbarbutton-dropmarker.png
+  skin/classic/browser/urlbar-favicon-glow.png
   skin/classic/browser/feeds/subscribe.css                  (feeds/subscribe.css)
   skin/classic/browser/feeds/subscribe-ui.css               (feeds/subscribe-ui.css)
   skin/classic/browser/feeds/feedIcon.png                   (feeds/feedIcon.png)
   skin/classic/browser/feeds/feedIcon16.png                 (feeds/feedIcon16.png)
   skin/classic/browser/feeds/videoFeedIcon.png              (feeds/videoFeedIcon.png)
   skin/classic/browser/feeds/videoFeedIcon16.png            (feeds/videoFeedIcon16.png)
   skin/classic/browser/feeds/audioFeedIcon.png              (feeds/audioFeedIcon.png)
   skin/classic/browser/feeds/audioFeedIcon16.png            (feeds/audioFeedIcon16.png)
new file mode 100644
index 0000000000000000000000000000000000000000..68803e5d07861fc2fe1bec2fc0ef3ba2e05fed24
GIT binary patch
literal 504
zc$@+F0SEqxP)<h;3K|Lk000e1NJLTq000;O000yS1^@s6m$m(a00004XF*Lt007q5
z)K6G40000PbVXQnQ*UN;cVTj606}DLVr3vnZDD6+Qe|Oed2z{QJOBUzib+I4RCwC7
zRcmX*FbuREw^^1!1ABeh|Nn7gg%%ppM-orYPT?lHkqv4%oY>Z#CCjo;DS7wRa$f*z
zLKFnd>)Hg2f?jYY3_zZrjG25TxD(WZ2cW`SFajfpI>7;G1xKuzL?Vm=NHY0G@FaK?
zG!R>14Yw?C0qIV#6@1X#v<dYfARINw-vqA^t0+uXpoa$y);Wyzm>=1LHA0ei{vvqB
ze+loL36X}Of^DL3bvO?nDgG+Z0Qvi#!sCqxdJZa{3HJ!q9^*ZG5V4yYeF^e{NNgL>
zm&SI^JQfI)Nd;w&4G()zP|vo31soBCA4vTb0Tt2lZ^VwWhY7q9T-vPN%oW^?TQFBY
z8TXeqYnN=P;ItblJJK&=>B^lL=@!o(SmFy6EGuR`<uz<O3q?~EJJgnrik!_B>v1MM
z8Qb0p47iC06s`?!wp&mtPGq;k_nE7y?nDK)*uBTtl46%j!#iwMVD`X~KuaaJ`)9ds
uNx(((cpRzZvNwNyaP**)zx9*(DZl_xp1-<|EHsn=0000<MNUMnLSTZADbOAO
--- a/browser/themes/winstripe/browser/browser.css
+++ b/browser/themes/winstripe/browser/browser.css
@@ -1000,69 +1000,62 @@ toolbar:not([iconsize="small"])[mode="ic
   color: GrayText;
   -moz-border-end: 1px solid #AAA;
   -moz-margin-end: 3px;
 }
 
 /* identity box */
 
 #identity-box {
-  background-color: rgb(95%,95%,95%);
-  background-image: -moz-linear-gradient(rgba(255,255,255,.5), rgba(70%,70%,70%,.1), rgba(0,0,0,.1));
-  background-origin: border-box;
-  border: 1px solid rgba(0,0,0,.15);
+  background-color: -moz-dialog;
+  background-image: -moz-linear-gradient(rgba(255,255,255,.25), rgba(0,0,0,.15));
+  color: -moz-dialogText;
   -moz-border-radius: 2px;
-  -moz-box-shadow: 0 1px 0 rgba(0,0,0,.1),
-                   0 0 1px rgba(255,255,255,.4) inset;
-  min-height: 16px;
-  padding: 0 2px;
-  font-weight: bold;
-  color: #666;
-  text-shadow: 0 1px 0 rgba(255,255,255,.25);
+}
+
+#identity-box:hover {
+  background-image: -moz-linear-gradient(rgba(255,255,255,.5), rgba(50%,50%,50%,.2), rgba(0,0,0,.15));
 }
 
 #identity-box[open="true"],
 #identity-box:hover:active {
   background-image: -moz-linear-gradient(rgba(0,0,0,.4), rgba(0,0,0,.1));
 }
 
 #identity-box.verifiedDomain,
 #identity-box.verifiedIdentity {
-  color: #444;
-  border-color: rgba(0,0,0,.3);
+  color: white;
+  text-shadow: 0 1px 0 rgba(0,0,0,.25);
+  -moz-box-shadow: 0 0 0 1px rgba(0,0,0,.2) inset;
 }
 
 #identity-box.verifiedDomain {
-  background-color: hsl(219,75%,80%);
+  background-color: hsl(219,45%,60%);
 }
 
 #identity-box.verifiedIdentity {
-  background-color: hsl(92,75%,72%);
+  background-color: hsl(92,45%,52%);
 }
 
 #identity-box:-moz-focusring {
-  outline: 1px dotted #444;
+  outline: 1px dotted -moz-DialogText;
   outline-offset: -3px;
 }
 
+#identity-box.verifiedDomain:-moz-focusring,
+#identity-box.verifiedIdentity:-moz-focusring {
+  outline-color: white;
+}
+
 #identity-icon-labels {
-  -moz-margin-start: 3px;
+  -moz-margin-start: 1px;
+  -moz-margin-end: 3px;
   -moz-transform: translate(0, -1px);
 }
 
-#identity-dropmarker {
-  list-style-image: url(identity-button-dropdown.png);
-  margin-bottom: 1px;
-}
-
-#identity-box:not(.verifiedDomain):not(.verifiedIdentity) > #identity-dropmarker,
-#urlbar[pageproxystate="invalid"] > #identity-container > #identity-box {
-  opacity: .5;
-}
-
 /* Location bar dropmarker */
 
 #urlbar > .autocomplete-history-dropmarker {
   -moz-appearance: none;
   padding: 0 1px;
   background-color: transparent;
   border: none;
   width: auto;
@@ -1074,16 +1067,44 @@ toolbar:not([iconsize="small"])[mode="ic
   min-width: 6.4mozmm;
 }
 
 #urlbar > .autocomplete-history-dropmarker:hover:active,
 #urlbar > .autocomplete-history-dropmarker[open="true"] {
   -moz-image-region: rect(0, 26px, 11px, 13px);
 }
 
+/* page proxy icon */
+
+#page-proxy-favicon,
+#urlbar-throbber {
+  width: 16px;
+  height: 16px;
+}
+
+#page-proxy-stack {
+  width: 24px;
+  height: 18px;
+  padding: 1px 4px;
+  background: url(urlbar-favicon-glow.png) center center no-repeat;
+}
+
+#page-proxy-favicon:not([src]) {
+  list-style-image: url("chrome://global/skin/icons/folder-item.png");
+  -moz-image-region: rect(0px, 16px, 16px, 0px)
+}
+
+#page-proxy-favicon[pageproxystate="invalid"] {
+  -moz-image-region: rect(32px, 16px, 48px, 0px);
+}
+
+#urlbar-throbber {
+  list-style-image: url("chrome://browser/skin/places/searching_16.png");
+}
+
 /* autocomplete */
 
 #PopupAutoComplete,
 #PopupAutoCompleteRichResult {
   direction: ltr !important;
 }
 
 #PopupAutoComplete:-moz-locale-dir(rtl) > tree > treerows {
@@ -1860,19 +1881,18 @@ toolbarbutton.bookmark-item[dragover="tr
 .popup-notification-icon[popupid="addon-install-failed"],
 .popup-notification-icon[popupid="addon-install-complete"] {
   list-style-image: url(chrome://mozapps/skin/extensions/extensionGeneric.png);
   width: 32px;
   height: 32px;
 }
 
 /* Notification icon box */
-
 #notification-popup-box {
-  padding: 0 3px;
+  margin: 0 3px;
 }
 
 .notification-anchor-icon {
   width: 16px;
   height: 16px;
 }
 
 .notification-anchor-icon:-moz-focusring {
deleted file mode 100755
index b0b99f066517c24a879d2c925d887e6ccf3a189f..0000000000000000000000000000000000000000
GIT binary patch
literal 0
Hc$@<O00001
--- a/browser/themes/winstripe/browser/jar.mn
+++ b/browser/themes/winstripe/browser/jar.mn
@@ -16,17 +16,16 @@ browser.jar:
         skin/classic/browser/appmenu-dropmarker.png
 *       skin/classic/browser/browser.css                             (browser.css)
 *       skin/classic/browser/engineManager.css                       (engineManager.css)
         skin/classic/browser/fullscreen-video.css
         skin/classic/browser/Geolocation-16.png
         skin/classic/browser/Geolocation-64.png
         skin/classic/browser/Info.png                                (Info.png)
         skin/classic/browser/identity.png                            (identity.png)
-        skin/classic/browser/identity-button-dropdown.png
         skin/classic/browser/keyhole-forward-mask.svg
         skin/classic/browser/KUI-background.png
         skin/classic/browser/KUI-close.png
         skin/classic/browser/mainwindow-dropdown-arrow.png
         skin/classic/browser/pageInfo.css
         skin/classic/browser/pageInfo.png                            (pageInfo.png)
         skin/classic/browser/page-livemarks.png                      (feeds/feedIcon16.png)
         skin/classic/browser/livemark-item.png                       (livemark-item.png)
@@ -44,16 +43,17 @@ browser.jar:
         skin/classic/browser/section_collapsed.png
         skin/classic/browser/section_collapsed-rtl.png
         skin/classic/browser/section_expanded.png
         skin/classic/browser/setDesktopBackground.css
         skin/classic/browser/menu-back.png                           (menu-back.png)
         skin/classic/browser/menu-forward.png                        (menu-forward.png)
         skin/classic/browser/monitor.png
         skin/classic/browser/monitor_16-10.png
+        skin/classic/browser/urlbar-favicon-glow.png
         skin/classic/browser/feeds/feed-icons-16.png                 (feeds/feed-icons-16.png)
         skin/classic/browser/feeds/feedIcon.png                      (feeds/feedIcon.png)
         skin/classic/browser/feeds/feedIcon16.png                    (feeds/feedIcon16.png)
         skin/classic/browser/feeds/audioFeedIcon.png                 (feeds/audioFeedIcon.png)
         skin/classic/browser/feeds/audioFeedIcon16.png               (feeds/audioFeedIcon16.png)
         skin/classic/browser/feeds/videoFeedIcon.png                 (feeds/videoFeedIcon.png)
         skin/classic/browser/feeds/videoFeedIcon16.png               (feeds/videoFeedIcon16.png)
         skin/classic/browser/feeds/subscribe.css                     (feeds/subscribe.css)
@@ -130,17 +130,16 @@ browser.jar:
         skin/classic/aero/browser/appmenu-icons.png
 *       skin/classic/aero/browser/browser.css                        (browser-aero.css)
 *       skin/classic/aero/browser/engineManager.css                  (engineManager.css)
         skin/classic/aero/browser/fullscreen-video.css
         skin/classic/aero/browser/Geolocation-16.png
         skin/classic/aero/browser/Geolocation-64.png
         skin/classic/aero/browser/Info.png                           (Info-aero.png)
         skin/classic/aero/browser/identity.png                       (identity-aero.png)
-        skin/classic/aero/browser/identity-button-dropdown.png
         skin/classic/aero/browser/keyhole-forward-mask.svg
         skin/classic/aero/browser/KUI-background.png
         skin/classic/aero/browser/KUI-close.png
         skin/classic/aero/browser/mainwindow-dropdown-arrow.png      (mainwindow-dropdown-arrow-aero.png)
         skin/classic/aero/browser/pageInfo.css
         skin/classic/aero/browser/pageInfo.png                       (pageInfo-aero.png)
         skin/classic/aero/browser/page-livemarks.png                 (feeds/feedIcon16-aero.png)
         skin/classic/aero/browser/livemark-item.png                  (livemark-item-aero.png)
@@ -158,16 +157,17 @@ browser.jar:
         skin/classic/aero/browser/section_collapsed.png
         skin/classic/aero/browser/section_collapsed-rtl.png
         skin/classic/aero/browser/section_expanded.png
         skin/classic/aero/browser/setDesktopBackground.css
         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
         skin/classic/aero/browser/monitor_16-10.png
+        skin/classic/aero/browser/urlbar-favicon-glow.png
         skin/classic/aero/browser/feeds/feed-icons-16.png            (feeds/feed-icons-16-aero.png)
         skin/classic/aero/browser/feeds/feedIcon.png                 (feeds/feedIcon-aero.png)
         skin/classic/aero/browser/feeds/feedIcon16.png               (feeds/feedIcon16-aero.png)
         skin/classic/aero/browser/feeds/audioFeedIcon.png            (feeds/audioFeedIcon-aero.png)
         skin/classic/aero/browser/feeds/audioFeedIcon16.png          (feeds/audioFeedIcon16-aero.png)
         skin/classic/aero/browser/feeds/videoFeedIcon.png            (feeds/videoFeedIcon-aero.png)
         skin/classic/aero/browser/feeds/videoFeedIcon16.png          (feeds/videoFeedIcon16-aero.png)
         skin/classic/aero/browser/feeds/subscribe.css                (feeds/subscribe.css)
new file mode 100644
index 0000000000000000000000000000000000000000..19de6ff972550759b8eedb5b2caf6146d599973f
GIT binary patch
literal 619
zc$@)i0+juUP)<h;3K|Lk000e1NJLTq000;O000;W1^@s6;CDUv00007bV*G`2iOGx
z2?s1NtsPtd000SaNLh0L03N{r03N{s!)a7g00004XF*Lt006JZHwB960005{Nkl<Z
zc-pmAi*AE35DO^-+PxqD|A*7MwOv;VVL4_O>qNDOG$e~OyR&mna;zAJA%+kZf->U*
z;|SQ?+><hTz{YJxCv$x%L`GU=)B-P5IPwI-Bgj884j2ysD~lj*fJ?x}E5wv%1Ug`!
z@t&~*B4S!rU;@jG>x?_RZ!p(DVBrL4!vUn5j90{+D&*=atk%dM02^P;SQSuyf;DE#
zR;s1=XdO3{*4$=10T15@a5E`Tqe52I(jr!HB^Etq++(hRKp|iS9Rw<fAF&r(SXQb)
z1HxPQe}k%OS-s!n9^w(d_p%o?1r`We!biRv1XXT>2dRRV^)COE7o`H8{UrqT<aqLc
zca#NIlFxk`EAWB5(NV|~FOHBGZX6|__a^EEif%k-Nx~ds^_k--qANQ%;-5Zeb9gb*
z41BUbMTHQux<T@7Jd`qFC&A8f=Y!5z7Ub{D@8msl#4vTk17H_N+pbnKN8US*J@QA6
z5&><PIwHXfMhoK^axRMbd;B)R@q5sPsh8Uoe+yq{c@d_DrmZ4~XeW8Ezy?AGRzLyv
zk2MGf1hE(SX2(5ik@tdJ8}HO2w%lEq`gsERZ`!rxK0{<nn{*HKOLT;nD+v7NgR_Q3
zrwV8h$rIE!;qRYJp2VK_pp_)9s>X)@^`mb{#ee_X@(F0w1Dmy^e9!;@002ovPDHLk
FV1f$<0{Z{}
--- a/extensions/cookie/test/browser_test_favicon.js
+++ b/extensions/cookie/test/browser_test_favicon.js
@@ -1,27 +1,33 @@
 // tests third party cookie blocking using a favicon load directly from chrome.
 // in this case, the docshell of the channel is chrome, not content; thus
 // the cookie should be considered third party.
 
 function test() {
   waitForExplicitFinish();
 
-  Services.prefs.setIntPref("network.cookie.cookieBehavior", 1);
+  var prefs = Components.classes["@mozilla.org/preferences-service;1"]
+                        .getService(Components.interfaces.nsIPrefBranch);
+  prefs.setIntPref("network.cookie.cookieBehavior", 1);
 
-  Services.obs.addObserver(function (theSubject, theTopic, theData) {
+  var os = Components.classes["@mozilla.org/observer-service;1"]
+                     .getService(Components.interfaces.nsIObserverService);
+  os.addObserver(function (theSubject, theTopic, theData) {
     var uri = theSubject.QueryInterface(Components.interfaces.nsIURI);
     var domain = uri.host;
 
     if (domain == "example.org") {
       ok(true, "foreign favicon cookie was blocked");
 
-      Services.prefs.setIntPref("network.cookie.cookieBehavior", 0);
+      var prefs = Components.classes["@mozilla.org/preferences-service;1"]
+                            .getService(Components.interfaces.nsIPrefBranch);
+      prefs.setIntPref("network.cookie.cookieBehavior", 0);
 
-      Services.obs.removeObserver(arguments.callee, "cookie-rejected");
+      os.removeObserver(arguments.callee, "cookie-rejected");
 
       finish();
     }
   }, "cookie-rejected", false);
 
   // kick off a favicon load
-  gBrowser.setIcon(gBrowser.selectedTab, "http://example.org/tests/extensions/cookie/test/damonbowling.jpg");
+  PageProxySetIcon("http://example.org/tests/extensions/cookie/test/damonbowling.jpg");
 }