Merge fx-team to m-c. a=merge
authorRyan VanderMeulen <ryanvm@gmail.com>
Wed, 22 Oct 2014 16:27:41 -0400
changeset 211821 7e2fb51abd4b
parent 211801 a4a78522b8d8 (current diff)
parent 211820 fda425362024 (diff)
child 211822 bc5264a31fe1
child 211841 5faccfb61d5c
child 211844 d26c6fc3a8a6
child 211932 d9025b60c16f
push id50810
push userryanvm@gmail.com
push date2014-10-22 20:38 +0000
treeherdermozilla-inbound@bc5264a31fe1 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersmerge
milestone36.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
Merge fx-team to m-c. a=merge
mobile/android/base/resources/drawable-hdpi/search_fox.png
mobile/android/base/resources/drawable-mdpi/search_fox.png
mobile/android/base/resources/drawable-xhdpi/search_fox.png
mobile/android/base/resources/drawable-xxhdpi/search_fox.png
mobile/android/chrome/content/browser.js
--- a/browser/base/content/browser.js
+++ b/browser/base/content/browser.js
@@ -1544,16 +1544,18 @@ var gBrowserInit = {
 
     // initialize the private browsing UI
     gPrivateBrowsingUI.init();
 
 #ifdef MOZ_SERVICES_SYNC
     // initialize the sync UI
     gSyncUI.init();
 #endif
+
+    gRemoteTabsUI.init();
   },
 
   nonBrowserWindowShutdown: function() {
     // If nonBrowserWindowDelayedStartup hasn't run yet, we have no work to do -
     // just cancel the pending timeout and return;
     if (this._delayedStartupTimeoutId) {
       clearTimeout(this._delayedStartupTimeoutId);
       return;
@@ -6969,17 +6971,19 @@ let gPrivateBrowsingUI = {
       // (not for "Always use private browsing" mode)
       gURLBar.setAttribute("autocompletesearchparam", "");
     }
   }
 };
 
 let gRemoteTabsUI = {
   init: function() {
-    if (window.location.href != getBrowserURL()) {
+    if (window.location.href != getBrowserURL() &&
+        // Also check hidden window for the Mac no-window case
+        window.location.href != "chrome://browser/content/hiddenWindow.xul") {
       return;
     }
 
     let newRemoteWindow = document.getElementById("menu_newRemoteWindow");
     let newNonRemoteWindow = document.getElementById("menu_newNonRemoteWindow");
 #ifdef E10S_TESTING_ONLY
     let autostart = Services.appinfo.browserTabsRemoteAutostart;
     newRemoteWindow.hidden = autostart;
--- a/browser/base/content/tabbrowser.xml
+++ b/browser/base/content/tabbrowser.xml
@@ -1480,20 +1480,22 @@
             // Tearing down the browser gives a new permanentKey but we want to
             // keep the old one. Re-set it explicitly after unbinding from DOM.
             aBrowser.permanentKey = permanentKey;
             parent.appendChild(aBrowser);
 
             // Restore the progress listener.
             aBrowser.webProgress.addProgressListener(filter, Ci.nsIWebProgress.NOTIFY_ALL);
 
-            if (aShouldBeRemote)
+            if (aShouldBeRemote) {
               tab.setAttribute("remote", "true");
-            else
+            } else {
               tab.removeAttribute("remote");
+              aBrowser.messageManager.sendAsyncMessage("Browser:AppTab", { isAppTab: tab.pinned })
+            }
 
             if (wasActive)
               aBrowser.focus();
 
             return true;
           ]]>
         </body>
       </method>
@@ -3094,16 +3096,23 @@
             case "DOMWebNotificationClicked": {
               let tab = this.getTabForBrowser(browser);
               if (!tab)
                 return;
               this.selectedTab = tab;
               window.focus();
               break;
             }
+            case "Browser:Init": {
+              let tab = this.getTabForBrowser(browser);
+              if (!tab)
+                return;
+              browser.messageManager.sendAsyncMessage("Browser:AppTab", { isAppTab: tab.pinned })
+              break;
+            }
           }
         ]]></body>
       </method>
 
       <constructor>
         <![CDATA[
           let browserStack = document.getAnonymousElementByAttribute(this, "anonid", "browserStack");
           this.mCurrentBrowser = document.getAnonymousElementByAttribute(this, "anonid", "initialBrowser");
@@ -3151,16 +3160,17 @@
           let remote = window.QueryInterface(Ci.nsIInterfaceRequestor)
             .getInterface(Ci.nsIWebNavigation)
             .QueryInterface(Ci.nsILoadContext)
             .useRemoteTabs;
           if (remote) {
             messageManager.addMessageListener("DOMTitleChanged", this);
             messageManager.addMessageListener("DOMWindowClose", this);
             messageManager.addMessageListener("contextmenu", this);
+            messageManager.addMessageListener("Browser:Init", this);
 
             // If this window has remote tabs, switch to our tabpanels fork
             // which does asynchronous tab switching.
             this.mPanelContainer.classList.add("tabbrowser-tabpanels");
           }
           messageManager.addMessageListener("DOMWebNotificationClicked", this);
         ]]>
       </constructor>
--- a/browser/base/content/test/general/browser.ini
+++ b/browser/base/content/test/general/browser.ini
@@ -389,16 +389,17 @@ skip-if = buildapp == 'mulet' || e10s # 
 [browser_private_browsing_window.js]
 skip-if = buildapp == 'mulet'
 [browser_private_no_prompt.js]
 skip-if = buildapp == 'mulet'
 [browser_relatedTabs.js]
 [browser_removeTabsToTheEnd.js]
 [browser_removeUnsafeProtocolsFromURLBarPaste.js]
 skip-if = e10s
+[browser_restore_isAppTab.js]
 [browser_sanitize-download-history.js]
 skip-if = true # bug 432425
 [browser_sanitize-passwordDisabledHosts.js]
 [browser_sanitize-sitepermissions.js]
 [browser_sanitize-timespans.js]
 skip-if = buildapp == 'mulet'
 [browser_sanitizeDialog.js]
 skip-if = buildapp == 'mulet'
new file mode 100644
--- /dev/null
+++ b/browser/base/content/test/general/browser_restore_isAppTab.js
@@ -0,0 +1,154 @@
+/* Any copyright is dedicated to the Public Domain.
+ * http://creativecommons.org/publicdomain/zero/1.0/ */
+
+const DUMMY = "http://example.com/browser/browser/base/content/test/general/dummy_page.html";
+
+function getMinidumpDirectory() {
+  let dir = Services.dirsvc.get('ProfD', Ci.nsIFile);
+  dir.append("minidumps");
+  return dir;
+}
+
+// This observer is needed so we can clean up all evidence of the crash so
+// the testrunner thinks things are peachy.
+let CrashObserver = {
+  observe: function(subject, topic, data) {
+    is(topic, 'ipc:content-shutdown', 'Received correct observer topic.');
+    ok(subject instanceof Ci.nsIPropertyBag2,
+       'Subject implements nsIPropertyBag2.');
+    // we might see this called as the process terminates due to previous tests.
+    // We are only looking for "abnormal" exits...
+    if (!subject.hasKey("abnormal")) {
+      info("This is a normal termination and isn't the one we are looking for...");
+      return;
+    }
+
+    let dumpID;
+    if ('nsICrashReporter' in Ci) {
+      dumpID = subject.getPropertyAsAString('dumpID');
+      ok(dumpID, "dumpID is present and not an empty string");
+    }
+
+    if (dumpID) {
+      let minidumpDirectory = getMinidumpDirectory();
+      let file = minidumpDirectory.clone();
+      file.append(dumpID + '.dmp');
+      file.remove(true);
+      file = minidumpDirectory.clone();
+      file.append(dumpID + '.extra');
+      file.remove(true);
+    }
+  }
+}
+Services.obs.addObserver(CrashObserver, 'ipc:content-shutdown', false);
+
+registerCleanupFunction(() => {
+  Services.obs.removeObserver(CrashObserver, 'ipc:content-shutdown');
+});
+
+function frameScript() {
+  addMessageListener("Test:GetIsAppTab", function() {
+    sendAsyncMessage("Test:IsAppTab", { isAppTab: docShell.isAppTab });
+  });
+
+  addMessageListener("Test:Crash", function() {
+    privateNoteIntentionalCrash();
+    Components.utils.import("resource://gre/modules/ctypes.jsm");
+    let zero = new ctypes.intptr_t(8);
+    let badptr = ctypes.cast(zero, ctypes.PointerType(ctypes.int32_t));
+    badptr.contents
+  });
+}
+
+function loadFrameScript(browser) {
+  browser.messageManager.loadFrameScript("data:,(" + frameScript.toString() + ")();", true);
+}
+
+function isBrowserAppTab(browser) {
+  return new Promise(resolve => {
+    function listener({ data }) {
+      browser.messageManager.removeMessageListener("Test:IsAppTab", listener);
+      resolve(data.isAppTab);
+    }
+    browser.messageManager.addMessageListener("Test:IsAppTab", listener);
+    browser.messageManager.sendAsyncMessage("Test:GetIsAppTab");
+  });
+}
+
+// Restarts the child process by crashing it then reloading the tab
+let restart = Task.async(function*(browser) {
+  // If the tab isn't remote this would crash the main process so skip it
+  if (!browser.isRemoteBrowser)
+    return browser;
+
+  // Make sure the main process has all of the current tab state before crashing
+  TabState.flush(browser);
+
+  browser.messageManager.sendAsyncMessage("Test:Crash");
+  yield promiseWaitForEvent(browser, "AboutTabCrashedLoad", false, true);
+
+  let tab = gBrowser.getTabForBrowser(browser);
+  SessionStore.reviveCrashedTab(tab);
+
+  yield promiseTabLoaded(tab);
+});
+
+add_task(function* navigate() {
+  let tab = gBrowser.addTab("about:robots");
+  let browser = tab.linkedBrowser;
+  gBrowser.selectedTab = tab;
+  yield waitForDocLoadComplete();
+  loadFrameScript(browser);
+  let isAppTab = yield isBrowserAppTab(browser);
+  ok(!isAppTab, "Docshell shouldn't think it is an app tab");
+
+  gBrowser.pinTab(tab);
+  isAppTab = yield isBrowserAppTab(browser);
+  ok(isAppTab, "Docshell should think it is an app tab");
+
+  gBrowser.loadURI(DUMMY);
+  yield waitForDocLoadComplete();
+  loadFrameScript(browser);
+  isAppTab = yield isBrowserAppTab(browser);
+  ok(isAppTab, "Docshell should think it is an app tab");
+
+  gBrowser.unpinTab(tab);
+  isAppTab = yield isBrowserAppTab(browser);
+  ok(!isAppTab, "Docshell shouldn't think it is an app tab");
+
+  gBrowser.pinTab(tab);
+  isAppTab = yield isBrowserAppTab(browser);
+  ok(isAppTab, "Docshell should think it is an app tab");
+
+  gBrowser.loadURI("about:robots");
+  yield waitForDocLoadComplete();
+  loadFrameScript(browser);
+  isAppTab = yield isBrowserAppTab(browser);
+  ok(isAppTab, "Docshell should think it is an app tab");
+
+  gBrowser.removeCurrentTab();
+});
+
+add_task(function* crash() {
+  if (!gMultiProcessBrowser || !("nsICrashReporter" in Ci))
+    return;
+
+  let tab = gBrowser.addTab(DUMMY);
+  let browser = tab.linkedBrowser;
+  gBrowser.selectedTab = tab;
+  yield waitForDocLoadComplete();
+  loadFrameScript(browser);
+  let isAppTab = yield isBrowserAppTab(browser);
+  ok(!isAppTab, "Docshell shouldn't think it is an app tab");
+
+  gBrowser.pinTab(tab);
+  isAppTab = yield isBrowserAppTab(browser);
+  ok(isAppTab, "Docshell should think it is an app tab");
+
+  yield restart(browser);
+  loadFrameScript(browser);
+  isAppTab = yield isBrowserAppTab(browser);
+  ok(isAppTab, "Docshell should think it is an app tab");
+
+  gBrowser.removeCurrentTab();
+});
--- a/browser/base/content/test/general/head.js
+++ b/browser/base/content/test/general/head.js
@@ -103,26 +103,26 @@ function waitForCondition(condition, nex
 }
 
 function promiseWaitForCondition(aConditionFn) {
   let deferred = Promise.defer();
   waitForCondition(aConditionFn, deferred.resolve, "Condition didn't pass.");
   return deferred.promise;
 }
 
-function promiseWaitForEvent(object, eventName, capturing = false) {
+function promiseWaitForEvent(object, eventName, capturing = false, chrome = false) {
   return new Promise((resolve) => {
     function listener(event) {
       info("Saw " + eventName);
-      object.removeEventListener(eventName, listener, capturing);
+      object.removeEventListener(eventName, listener, capturing, chrome);
       resolve(event);
     }
 
     info("Waiting for " + eventName);
-    object.addEventListener(eventName, listener, capturing);
+    object.addEventListener(eventName, listener, capturing, chrome);
   });
 }
 
 function getTestPlugin(aName) {
   var pluginName = aName || "Test Plug-in";
   var ph = Cc["@mozilla.org/plugin/host;1"].getService(Ci.nsIPluginHost);
   var tags = ph.getPluginTags();
 
--- a/browser/components/loop/standalone/Makefile
+++ b/browser/components/loop/standalone/Makefile
@@ -10,16 +10,19 @@
 # more maintainable, we should be trying to implement new
 # functionality in Gruntfile.js rather than here.
 # Bug 1066176 tracks moving all functionality currently here
 # to the Gruntfile and getting rid of this Makefile entirely.
 
 LOOP_SERVER_URL := $(shell echo $${LOOP_SERVER_URL-http://localhost:5000})
 LOOP_FEEDBACK_API_URL := $(shell echo $${LOOP_FEEDBACK_API_URL-"https://input.allizom.org/api/v1/feedback"})
 LOOP_FEEDBACK_PRODUCT_NAME := $(shell echo $${LOOP_FEEDBACK_PRODUCT_NAME-Loop})
+LOOP_BRAND_WEBSITE_URL := $(shell echo $${LOOP_BRAND_WEBSITE_URL-"https://www.mozilla.org/firefox/"})
+LOOP_PRIVACY_WEBSITE_URL := $(shell echo $${LOOP_PRIVACY_WEBSITE_URL-"https://www.mozilla.org/privacy"})
+LOOP_LEGAL_WEBSITE_URL := $(shell echo $${LOOP_LEGAL_WEBSITE_URL-"/legal/terms"})
 
 NODE_LOCAL_BIN=./node_modules/.bin
 
 install: npm_install tos
 
 npm_install:
 	@npm install
 
@@ -68,11 +71,14 @@ remove_old_config:
 # working with that deployment.
 .PHONY: config
 config:
 	@echo "var loop = loop || {};" > content/config.js
 	@echo "loop.config = loop.config || {};" >> content/config.js
 	@echo "loop.config.serverUrl = '`echo $(LOOP_SERVER_URL)`';" >> content/config.js
 	@echo "loop.config.feedbackApiUrl = '`echo $(LOOP_FEEDBACK_API_URL)`';" >> content/config.js
 	@echo "loop.config.feedbackProductName = '`echo $(LOOP_FEEDBACK_PRODUCT_NAME)`';" >> content/config.js
+	@echo "loop.config.brandWebsiteUrl = '`echo $(LOOP_BRAND_WEBSITE_URL)`';" >> content/config.js
+	@echo "loop.config.privacyWebsiteUrl = '`echo $(LOOP_PRIVACY_WEBSITE_URL)`';" >> content/config.js
+	@echo "loop.config.legalWebsiteUrl = '`echo $(LOOP_LEGAL_WEBSITE_URL)`';" >> content/config.js
 	@echo "loop.config.fxosApp = loop.config.fxosApp || {};" >> content/config.js
 	@echo "loop.config.fxosApp.name = 'Loop';" >> content/config.js
 	@echo "loop.config.fxosApp.manifestUrl = 'http://fake-market.herokuapp.com/apps/packagedApp/manifest.webapp';" >> content/config.js
--- a/browser/components/loop/standalone/content/js/webapp.js
+++ b/browser/components/loop/standalone/content/js/webapp.js
@@ -32,17 +32,19 @@ loop.webapp = (function($, _, OT, mozL10
 
   /**
    * Unsupported Browsers view.
    */
   var UnsupportedBrowserView = React.createClass({displayName: 'UnsupportedBrowserView',
     render: function() {
       var useLatestFF = mozL10n.get("use_latest_firefox", {
         "firefoxBrandNameLink": React.renderComponentToStaticMarkup(
-          React.DOM.a({target: "_blank", href: mozL10n.get("brand_website")}, mozL10n.get("brandShortname"))
+          React.DOM.a({target: "_blank", href: loop.config.brandWebsiteUrl}, 
+            mozL10n.get("brandShortname")
+          )
         )
       });
       return (
         React.DOM.div(null, 
           React.DOM.h2(null, mozL10n.get("incompatible_browser")), 
           React.DOM.p(null, mozL10n.get("powered_by_webrtc", {clientShortname: mozL10n.get("clientShortname2")})), 
           React.DOM.p({dangerouslySetInnerHTML: {__html: useLatestFF}})
         )
@@ -77,18 +79,20 @@ loop.webapp = (function($, _, OT, mozL10
       if (this.props.helper.isFirefox(navigator.userAgent)) {
         return React.DOM.div(null);
       }
       return (
         React.DOM.div({className: "promote-firefox"}, 
           React.DOM.h3(null, mozL10n.get("promote_firefox_hello_heading", {brandShortname: mozL10n.get("brandShortname")})), 
           React.DOM.p(null, 
             React.DOM.a({className: "btn btn-large btn-accept", 
-               href: mozL10n.get("brand_website")}, 
-              mozL10n.get("get_firefox_button", {brandShortname: mozL10n.get("brandShortname")})
+               href: loop.config.brandWebsiteUrl}, 
+              mozL10n.get("get_firefox_button", {
+                brandShortname: mozL10n.get("brandShortname")
+              })
             )
           )
         )
       );
     }
   });
 
   /**
@@ -457,20 +461,20 @@ loop.webapp = (function($, _, OT, mozL10
 
     render: function() {
       var tosLinkName = mozL10n.get("terms_of_use_link_text");
       var privacyNoticeName = mozL10n.get("privacy_notice_link_text");
 
       var tosHTML = mozL10n.get("legal_text_and_links", {
         "clientShortname": mozL10n.get("clientShortname2"),
         "terms_of_use_url": "<a target=_blank href='" +
-          mozL10n.get("legal_website") + "'>" +
+          loop.config.legalWebsiteUrl + "'>" +
           tosLinkName + "</a>",
         "privacy_notice_url": "<a target=_blank href='" +
-          mozL10n.get("privacy_website") + "'>" + privacyNoticeName + "</a>"
+          loop.config.privacyWebsiteUrl + "'>" + privacyNoticeName + "</a>"
       });
 
       var tosClasses = React.addons.classSet({
         "terms-service": true,
         hide: (localStorage.getItem("has-seen-tos") === "true")
       });
 
       return (
--- a/browser/components/loop/standalone/content/js/webapp.jsx
+++ b/browser/components/loop/standalone/content/js/webapp.jsx
@@ -32,17 +32,19 @@ loop.webapp = (function($, _, OT, mozL10
 
   /**
    * Unsupported Browsers view.
    */
   var UnsupportedBrowserView = React.createClass({
     render: function() {
       var useLatestFF = mozL10n.get("use_latest_firefox", {
         "firefoxBrandNameLink": React.renderComponentToStaticMarkup(
-          <a target="_blank" href={mozL10n.get("brand_website")}>{mozL10n.get("brandShortname")}</a>
+          <a target="_blank" href={loop.config.brandWebsiteUrl}>
+            {mozL10n.get("brandShortname")}
+          </a>
         )
       });
       return (
         <div>
           <h2>{mozL10n.get("incompatible_browser")}</h2>
           <p>{mozL10n.get("powered_by_webrtc", {clientShortname: mozL10n.get("clientShortname2")})}</p>
           <p dangerouslySetInnerHTML={{__html: useLatestFF}}></p>
         </div>
@@ -77,18 +79,20 @@ loop.webapp = (function($, _, OT, mozL10
       if (this.props.helper.isFirefox(navigator.userAgent)) {
         return <div />;
       }
       return (
         <div className="promote-firefox">
           <h3>{mozL10n.get("promote_firefox_hello_heading", {brandShortname: mozL10n.get("brandShortname")})}</h3>
           <p>
             <a className="btn btn-large btn-accept"
-               href={mozL10n.get("brand_website")}>
-              {mozL10n.get("get_firefox_button", {brandShortname: mozL10n.get("brandShortname")})}
+               href={loop.config.brandWebsiteUrl}>
+              {mozL10n.get("get_firefox_button", {
+                brandShortname: mozL10n.get("brandShortname")
+              })}
             </a>
           </p>
         </div>
       );
     }
   });
 
   /**
@@ -457,20 +461,20 @@ loop.webapp = (function($, _, OT, mozL10
 
     render: function() {
       var tosLinkName = mozL10n.get("terms_of_use_link_text");
       var privacyNoticeName = mozL10n.get("privacy_notice_link_text");
 
       var tosHTML = mozL10n.get("legal_text_and_links", {
         "clientShortname": mozL10n.get("clientShortname2"),
         "terms_of_use_url": "<a target=_blank href='" +
-          mozL10n.get("legal_website") + "'>" +
+          loop.config.legalWebsiteUrl + "'>" +
           tosLinkName + "</a>",
         "privacy_notice_url": "<a target=_blank href='" +
-          mozL10n.get("privacy_website") + "'>" + privacyNoticeName + "</a>"
+          loop.config.privacyWebsiteUrl + "'>" + privacyNoticeName + "</a>"
       });
 
       var tosClasses = React.addons.classSet({
         "terms-service": true,
         hide: (localStorage.getItem("has-seen-tos") === "true")
       });
 
       return (
--- a/browser/components/loop/standalone/content/l10n/loop.en-US.properties
+++ b/browser/components/loop/standalone/content/l10n/loop.en-US.properties
@@ -111,20 +111,16 @@ rooms_new_room_button_label=Start a conv
 rooms_only_occupant_label=You're the first one here.
 rooms_panel_title=Choose a conversation or start a new one
 rooms_room_full_label=There are already two people in this conversation.
 rooms_room_full_call_to_action_nonFx_label=Download {{brandShortname}} to start your own
 rooms_room_full_call_to_action_label=Learn more about {{clientShortname}} »
 rooms_room_joined_label=Someone has joined the conversation!
 rooms_room_join_label=Join the conversation
 
-brand_website=https://www.mozilla.org/firefox/
-privacy_website=https://www.mozilla.org/privacy/
-legal_website=/legal/terms/
-
 ## LOCALIZATION_NOTE(standalone_title_with_status): {{clientShortname}} will be
 ## replaced by the brand name and {{currentStatus}} will be replaced
 ## by the current call status (Connecting, Ringing, etc.)
 standalone_title_with_status={{clientShortname}} — {{currentStatus}}
 status_in_conversation=In conversation
 status_conversation_ended=Conversation ended
 status_error=Something went wrong
 
--- a/browser/components/loop/standalone/server.js
+++ b/browser/components/loop/standalone/server.js
@@ -19,16 +19,19 @@ function getConfigFile(req, res) {
     "var loop = loop || {};",
     "loop.config = loop.config || {};",
     "loop.config.serverUrl = 'http://localhost:" + loopServerPort + "';",
     "loop.config.feedbackApiUrl = '" + feedbackApiUrl + "';",
     "loop.config.feedbackProductName = '" + feedbackProductName + "';",
     // XXX Update with the real marketplace url once the FxOS Loop app is
     //     uploaded to the marketplace bug 1053424
     "loop.config.marketplaceUrl = 'http://fake-market.herokuapp.com/iframe-install.html'",
+    "loop.config.brandWebsiteUrl = 'https://www.mozilla.org/firefox/';",
+    "loop.config.privacyWebsiteUrl = 'https://www.mozilla.org/privacy';",
+    "loop.config.legalWebsiteUrl = '/legal/terms';",
     "loop.config.fxosApp = loop.config.fxosApp || {};",
     "loop.config.fxosApp.name = 'Loop';",
     "loop.config.fxosApp.manifestUrl = 'http://fake-market.herokuapp.com/apps/packagedApp/manifest.webapp';"
   ].join("\n"));
 }
 
 app.get('/content/config.js', getConfigFile);
 
--- a/browser/devtools/inspector/inspector-panel.js
+++ b/browser/devtools/inspector/inspector-panel.js
@@ -5,17 +5,16 @@
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 const {Cc, Ci, Cu, Cr} = require("chrome");
 
 Cu.import("resource://gre/modules/Services.jsm");
 
 let promise = require("devtools/toolkit/deprecated-sync-thenables");
 let EventEmitter = require("devtools/toolkit/event-emitter");
-let {CssLogic} = require("devtools/styleinspector/css-logic");
 let clipboard = require("sdk/clipboard");
 
 loader.lazyGetter(this, "MarkupView", () => require("devtools/markupview/markup-view").MarkupView);
 loader.lazyGetter(this, "HTMLBreadcrumbs", () => require("devtools/inspector/breadcrumbs").HTMLBreadcrumbs);
 loader.lazyGetter(this, "ToolSidebar", () => require("devtools/framework/sidebar").ToolSidebar);
 loader.lazyGetter(this, "SelectorSearch", () => require("devtools/inspector/selector-search").SelectorSearch);
 
 const LAYOUT_CHANGE_TIMER = 250;
@@ -405,19 +404,21 @@ InspectorPanel.prototype = {
 
     // Wait for all the known tools to finish updating and then let the
     // client know.
     let selection = this.selection.nodeFront;
 
     // On any new selection made by the user, store the unique css selector
     // of the selected node so it can be restored after reload of the same page
     if (reason !== "navigateaway" &&
-        this.selection.node &&
+        this.canGetUniqueSelector &&
         this.selection.isElementNode()) {
-      this.selectionCssSelector = CssLogic.findCssSelector(this.selection.node);
+      selection.getUniqueSelector().then((selector) => {
+        this.selectionCssSelector = selector;
+      }).then(null, console.error);
     }
 
     let selfUpdate = this.updating("inspector-panel");
     Services.tm.mainThread.dispatch(() => {
       try {
         selfUpdate(selection);
       } catch(ex) {
         console.error(ex);
index f775cea7711dad1ecfa994730eaba67125da99eb..6e741afdd4fea47123a06c29ba9fc6c983d8e6ab
GIT binary patch
literal 2439
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
FV1l~9t~&q#
index 66af610f180418d679e1e7800b7a8131a702a078..cb9a93fb9d5cdad09f5c9a08ffda5589eb8e68cc
GIT binary patch
literal 3023
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
R&4d5|002ovPDHLkV1gzu&ZqzY
index 92e9d770add355c04f2c0fb6e6ed156717a680f1..8dcffd3af77c1d1ac1afc9652d073680e08d78fe
GIT binary patch
literal 4806
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
index db7f4ac709807d381c91ff2850050579aab17e2c..9a1df39f1276d770d866a999dc55ef00a9efefe1
GIT binary patch
literal 12795
zc${sy1yoeg`aVoI(jhf8(k;z^w19|!ba%Hj10vE4DJ5M3(%m85(mixYNk|Pd^GEM*
z-MhZEzFF(cIcM)@zjb!LPt@BtO87WbI7moH_$tcs@1E|PPnQf9#?wD4e*ggz5`UkH
zysWnG%1Ji1HmU8xEs)JLX+&*5P|$CPU(lVH#ep?rgt<^fXt1RYtKi!vMoaz-2S+rP
z%ZqPzMg^?q?y}mXDGKOTM1=bCZ{;;*2$ye*?Z1>{bwayt_qBbZe}%i)rC((yOCR{;
z?E9U;5E7|v@4a<;VZiRL;2_w;1L9EF=WJ~&lD|*x>vP}nwcoPWFis2bn&N9BY?N`m
z(eYKSHM6^e2?1Y<<xgv`q7z)uD9aOk`^oOT_?o*d`@a9TDUA!FH^`W?jwYUxNwPm9
zbZ8vE4S}{A`#;%vP{ai0XQn|c0(YBDe$OA6jt7947A6fVi7p&wwOEP0!(pggKj27K
z2G##X&ZU>OuVo@q5hgOeid?K$Bg}_+lIky<5F3Rffsg+zrH~VGJn+Sm$Y&RuQC0?>
zINIF8dmk8jYsIx4FDc86^-bm#zuNc7N61xZZKT8{S|WWO3O32k8?m;f`#%XX`akWX
zK8?&Dm)`POQO|_R01wSBBmN8__PD|p6Qq<WP++?lmv2DL-C6}*bi|R$gww>>$rX!;
zzWNzCl&9zzFq(TnPZ8+nW&f>Rbwwmn$Pi%5Gh^BPlkIwOu|JW;Hb{hlQrJ5?1I6FP
z(RDmsY22fuqth%aE3^IdDqjMrWkwk|D_QC3sT^_Lz|{rmoD+$Cr>}>hnDn^Jnk{f>
zt5f?;D|$z1#RZYAg3)2D^4WsMoSu(L(iw)T`rS8_W#K>X22fBd{P}qW{#3tcpNyGM
z!wm>R;S0F?NU21L6^o&<$^>RZ5g!a|5WW~Hz&AUnGU;q%m6nF1Abpo*WjtrB){=}H
zpCYl(-hPpjt>K?Zhkf-2A2KY$_qvBjThpamxV}BVS4S~py@bpA;+t+vp<-!&dlLR<
zh8(OzN`j&(XF_cUDZC4LnIYeV54qvZTlakZB*?Toq1Q*iQHuYA%`6llbrMoCcRXAU
zS-4vqoNRPLYxTIAP(!*M>rl052DIo5BfNx1hAhOC6bj?t8Jdtjbg&nC(Vn}QidDzP
zUb#I6nZg6ksQnrElzso`hgdI|VBrx5J%AedS8+pS3p7BTF`MB%^jq_~7t8c~!%N>T
z5Lmdys^sk;1Y8J-Pr+n%|2lM=9einR5L>mP)vNpPxt{1SW=7btaM`c8!uiZ0NtbVR
z7t<RapcU&xNNJ_*g4n#=dx?c7zyV`(8LgEyOVB(5?h`NllfH7Vl%A0hh0%`m985GS
z9Tpz0kj@o9w3F)P<&}=N%SgPJ9IuvqtusJ=NDVKU_I<+;KTTn+=XPTBD3-VnMeF9=
z7FEnZbYa#jwUlH=x_#>Xbn$ix&X78$wD!%2y^jckWKgabG_$`(lzi%`Alhfv=lkLg
z<n>%Ja2u16#+=VwlJpkj>FMcRn&ZWh?tZne4${?K)RxSA(Z0ke6?o@16GttALPJZN
zTQSSX%Ys1a04rxOrWTc!N+9>RV!R7U(GV{h@>LyCvPY(x%u!M(z-IZf@cd*g$@)u1
z=05p^;Fab+=rBJc&9R*S+xEM7&%v;ALPSL?Pnn)P&aq1w>r78tL=v4gI_8~~Ye3bT
zn2r{B{=8#{i*_ZF4zmc&r0+b{Uha$=;~&NO*WrJ%bU2IcKLV034Vh4h?_8$l?Gq^$
zK`S?b)z!@%XgW(Uy__uo?{6Pbtwix<6L%OjG;PM1qCBZ;gADDvl>UuTHo2cW40wxK
z4Td3U*9u?=1e%6)J4+S?7g)h^b!FOEh?01AWqM{_`2Mp+0%3S{Fs18vUEkQqjULiE
zEZRT3u_2vCUGKP9HPrGl*@Brk>i%+X?7sYZT2(FQWU9vN=pDuKLp-g7faU?M@!Agt
z+L>hgWN=-}HafXx_=92|HVe5bP5@cneZf0*&lsC2qV1*Qln0s25yJ?&NwO`h(ci;H
ztB%mzv6YmuxYox${VrJXyQury=U)PK{0~`JH8KzrzsOwI%T2iZh*F5Ox(m}lk|0+e
zw$C`%6rhB3r3IJ$iWxax{&)|>h@olcpGvt<ETy-D+j1<OkGgccV|#;3FzwzIM9<n>
zab)#tg3f-?Q5eFTY~x`ZATRn+K&>w?ty_V4*TeGtKp!vs9bYav%Kxdpe^%prVIk<P
z^j$scWpSMkC0CE0%lOUdYM7n`jIV<wq54g-<Z|Z1!UBP{V;ZmNM)epbwz5Wvy7X(@
zr|#>R7)oUKDr)&722F$}U3@othDdkRzHsr9*O`3N?FAmL;H{FU4B0{bslPKQ_hh1W
zEj@;p=IMFL_T~LAp%E=|P<y=Xhl&p@-x#~hHFyyL_&iS-`QA_yIDg<!pm*jW`>n{5
zzQxT%6XV-~XiKsukF&o;?hSsIFkT*mY@6wKiK}0yKsBDB2y)@PMJG4nMGR;Xj>Xk>
zp>{sj+Fi}tCzToz#tamK&z+4$-<ZdL*-544rr^?}?{TLgv5YJ&BKFSQ9f5-l8tgQg
zCbUe<&9{cyxMXIMgXk_bUr3`C-V#lx5buc5T9e1XWm=1Ea5va9oM(#Fg9kXMm72P5
zJ*mM=M^8>dq;gincSxfL+#i1qUCFPdTY@LhMB^<j@W4e`ujiiZ7zZ}>{$y%!d2;r<
zi#J6)5V|8O{e4ogKMuRvl<A*6lm^YO3!Xy0hd3wD@l|twfvltE&2`jwVGE)e((vRW
zbGNiPc|o=*8Xv{~_#q%lKAY8VbPDN5uVo-o2uD{7hOsF81iW*{TOArnEqEc0<wi5q
zPx%H5DN0=Z(u%??_A`ZMIgvd896Ik%ppbKto#6e+0VxDgF^0k{HIwS+w#d17f%lEC
zLB^oVV!kEU)7dZAAp@7paWUH(nmb}Z?RkA+G#%m~UvAThSvD^pBWVryq4w$jbfp`L
zq0RJ8_*hE0lGR|B9aun96@9-@izk#vl~}HSF6$utlTqWovf3@Omk|~Jn_`i}LO_Cn
zdc&|*7wUJzW}fg5;|!mwJT`PSLsG*oBsq`DIeMs+N(Wf<C|BM#n(uIpRyM6V6?pTw
z!i1X;_cW_1I~x1FZ?}`{O}bz^SzonWM81E{-!++i(~6imcX(HF_AMm8|I#jQ4P=g1
zv`K{bnNYkEW{qgBuWuKbLs$OmdzH2Tg^B}aArdz?cZIdCUaRAuDwiu&eA}>>b57oR
zuUmz0R^QuYw-3MtRuLX&`vGjZnZ0jc<p>~(_B(GG(JIVeFlgNSv?Y7rmPqLKzWtcv
z0jiL2Bj`^4i|UpPs<j0JN@czgW~Ol)E(rC!DrBMp@U}#@T<wmCy%HYoLfyVIq(!_O
zavZ<aqX(S%tM)Wbjn(iq<lDdoPg4x*&39a!J&%oV0OnB03%3i2Y%#!+udTjtfUUmB
zPiUwcPXG(#_+Eg>C+F!q5Ez1?3NM$DvX=JMCzMG#0a)%6hWGpv)Cy~UPeVlFtLt@E
zZ9VzYxOb&v&cS<#{5fXdN4Y<bV$fsxe~4AKP)Ktxl2fc){xUOO<{=CzPfNY)CpV${
z!N}8B`YPe$!c;1ASmNzyYg;O3Wc2mi2NIOl5)6B==m0HF#%U$7ZM3*s_SRYs5&zzs
zU0ON}p>P&&b>AInt$Ro>Hvc|`(my4o@^|v+V(Ky$1DQLDkw=thr>8IMq(?KEW=R$-
z-xi>+0?U5&4FYm`kzSfCs~WbmWIy9Y^9d?^4Q4U%Yb{&i3{a5}d83kZ=K%lm@vx2r
zo0pm-NZvT^8J#|P_L}Hr%Kbr;=_=)X2gXu=gOlB9;s<eUuZ`Ovj+@tN#Aob-tsh*z
zCP}*2O&8N^1+wOsb54}Xt(*|9JFSky$!WB9E6E=ZX0#uN#$5ylJ1V8kF>n;FFAC?e
zxbLaR@=rE;?xgHS>E@D?(zGlj5vDDl&C;icQnt<cc<fATogrogmqew|Lh#Ae9hC?~
z<x@k>;X=wrbf^QO|A~;vb6j*60tSXAyg;gzUReaIm&eZEF(4!?9A{Ez74>#xUc(XT
z4k;t_yUf@7KzO1On9gr#aL}Y92-;*SFaHTZcC<4D?yOmQW*JNJ%5OFy(bsz}szTLd
zcVq**8v%#T)_F@B<IP(m8|dq2r~O^3(#4^bM`U_5Ve0cJp7{-(L1?RnYwJP}M)9fB
zOpXjS7voJ&yNpU>e5Gi^nNCxojn2Cch8f-phEd*T{*7ks^evXN_iONt<(TZ2wq1p%
z{{O~)?674)z0Yoo%FI)#<xOw5@rrLzmBeg&0q4Di{ef|JT~$CZnelDVaeHonc`f_h
z5SHH?Bjd|g8m%D93ajfiRFtjnQusZCJ;k!U-CYVEyRs&wKH7>y1BUje!TAKMumVBx
zKtR{YH8B<o4qOpR_4S`>55zOdI9-<TdKZ)${ucCTxU<`?tgx?AYTtli_$Gw`TJX=}
zO=t~92ij@gApqyEO2#P@jo3|1o_8bop3(=k{LwIOfsglQ07n0DXg9s9#~aw78Bw#l
zH<(U}Y9wfs1qcKY)0K&*&rZ|P0H^0&fA84Zu^G>>0j%A*(|FFS_yjQ2x6U`Nz6}8B
z6BH{iZ`#(1q4H~NA1uZ+<o#{4P_ydAV(vw60-%;>>4IW0D=lrcdl020wpD~aG-Ftz
z(lJzBt%4gc6#N9BoU_~cl|-?K=<(Jp>QZH@;a`Ca57k28=@Nr(AWLf9TeCdnUc_5*
zd8!Q*GuhJoKpN;NxYg1o;uW=SS_f&)WqEnIK;C)KYdZe1{tM7U?GCt~wp(x6XKZxz
zbr4Hws4I=An@ljj-Bw?Cv$tl5FIpGRtfcSnO{q&w_X-Q`iOW>7R6XV(&GQ=A^FeB+
z+-be@&2*KkAPb9?b@<^=Mr-&)_B;lKX_b>Sv=3$JYe4M_5~a#!;C`&+t%W<kE?9C}
z)f^gA?2U2Zd^5qn?cKxr-YF}pZ~>k!DDZxqbN^Rjgq}ggrs*<0zn+`kl2c7J`V!@t
z>qx(*BWV1&{qD-U@p&e2G)7cGHx}MFQ~q;Yj3vqlS=M+1sO6+`GT)0Q2};(SZjTv|
z3S0t$+ag=>R8j`A8Ex+9DKyXWltbl_u#S|y)YR08f!SH|_meBgbg&aEgCau{6KN&m
z4pD($Z|9vz?8(Su#P6Q1qAvU0U3q7o#|$zlSt5tHY;vx{mp>|N<gN|OT(!pJiNwUX
z&-p?vzhm!fyL&5VNe-)Kfb?&Tr&?Yb+B>a^AI3TJ$5Z{co?1%#0TQ^hXTQ6^A?)Rh
z{!+23azNDK1YFCSt~D^v;C%h|2=E>)r(}yhn*^h0kQ5hNDGtWJ@ML+5c#%4t6X-00
zGH8E1V|Dz;f>Dt&Rsp!9#L5;#n-SK}*b^?KDe+ZuZjBE_(ycX$AnK{59=d>WbxlOd
zzrXu-%pmblb^)rsnBMy2z(wAep5C-AN^p-VKmj7ZN!4l|EzzFg$lQoP9L^c!u2Ni*
z{|N6;_>YbkPN1&=|JBi6eF}WA*6lfM`9Rm-xayI}$Pg)AunG38X7WtXLu*N3b+|n`
zCz|&QXv(6DCH?=c2C?G0WSP%ND*Q+O-Ok$aFby*~GEY&|N^JK-_GV0Hz-`H`d!tq)
zGt*+C88bRjnO}<fM_s8O%7$U3?-e!k>*&T!imbO__}CUu=)=QC(Uq6_WqzqG24rK)
zuQ3tZF63=;%S!Q=KgQwVhUr&u>1IUsCF&7{DG!D)R-)CeIB{$dJ)_P=nh8&;WO;kh
z(G6nT{&wWLJ-aCngCQx_Na<rDseBQKbeCr*b2r;tOGLJ=_^d6!4)g!hoE3AG#rDk0
z{-m21f93#!@ivT5MX`#hR~d)#9T`~Ufkj#@ZzI=JgU3)wWbG)r1gSbHN69k|Y;_mY
zAd!LDWT^W3wRDp4wCo$ko9i4cuWkh!#)HHU3kpSNAt51V*Knhlp@q-FXFgYD8O|te
zdBFqaqi0FPwsWw~K@eV<oAFKYBTF7`6<HM-X#=xeBkbHq%x1{vLWY9bM+~c+g`nZm
z^h2HC>YW+p;YSuWarD|L|ED5a++{tXJlx-3KGAp42;G!s-;>CT_w*G;<P5NB<itAK
z+b_rOpF7^qy{56J0R~H=05I-IA*QeVMd?s>(ceWWx4>V%e3^RJ9s<n21vW|rRSKG3
zH;~8J%1}-vzC86&O^lX5Ze*A4)>Q?{7GdFi3h7JTPNAA=iKokdzltysIVX{i?vYXc
zwZS-fdJ%X0@qOi^`ZMpKkIF=pSh(O1Q5v8A^fyMzav~HGe`7N$n9=J&koh-`V@N(Y
z9B6c>5*8KY$=^Au+@F*hv`iB@t~NP~=~kQIlgA9SPy6Crwl#r5(p=>D{KK7s@Bx=q
z^oX1sI>R=h@6H$I7mt=Q;kFhlOf`@%^BEVPq9HP?z*6^4JMZcFkJdeV{y#Z1<ukN`
z&3-y0)_J2W8WfJ*?n+Xiq5G&jG{ceuPQr-&7f>m_QWUE`+h@CVB4amXbE_1V^I$I3
zBc@x!cZOYx05@o@wm0yN$mx#Boh2d3;A2MXW3;Nq73j^bkxCL;jCh_YoYR8d&YcvA
zqJxOnql4hySDxgbB<};%VeCNk-ffptnEgR+r1G*Z_eI8pZf|ez;>zl(PeD4%cBC!|
zcvg$YizG)`O-)k6v*9z>EBHJFV%Jk@)-jv~)&0q1+~y_7%X=;acY&x&Dg;G#gVNP=
zoyWd#`$2C`1AO6+_k0FQ5aC!v4g78~iyN!_$14jhplfhIeT8AP=nK)j`<~w2&)!W6
zft<&g{xJg+j{~Yy)bE#5M9$oTXZ(9_-)pGjug3~2eRe!PHEnTXWK;;jdeM-gm~!r$
zI!ozaX*k0Gd0G!rhdAY*Z=iEuq+MoNKE5{4nr!yc!S{u-DKBWq7hw@bCE?F_MXgo{
z*k3o&-3^$c%@5tr9Bk;!K+`yiqk<b}uCFY<J+DE0{gD(ENs8Qe9Vy?o^>tV0ZTYo9
z0L3tD?9T1cq-pNp!{<4$@^E6#P%AQ&H}3Oati>{Ig2m5H9PW>fv{K!7x($67P@PQ@
zEsS9K*TP?)fcIJ#opF#1oOIf*hq*E>cLfCnW{2=cRKGabA-MqYPfJP_&$c_<HNETX
z@$f7<4gvpdj7Gm<+u_^<5K}#o=YBo6LTutigES$Cs|i8>4h^g8Pqah+ZHAkQ=atFa
zf|B$r8^*E3Kf~{>a4o{dt)+JiVHblI0Z{*+mnbw04PKt!2H8GFmP%!9r$ChF11s=u
zz%VGFzzVjiLfrm@P_L^H*YIbrBIEcx4!MrJKD}2eMi=el(6IkAvO3dJU_e<1n-ZYf
zFbT%Qar-oZ{q{5)-MyGw?m&aWgf+m|_fAlW$Z(f>KW9Fn^Y?y$K+dZ#Gl1m*re8j4
zi9vj%8-MB#I`mx~ZjxNPD94;l4TfMT^=exhG9~~ggkkY9Tj^EM<NawhoO2bZ^GoPH
zbq><~w2$J1zX$eNfh9I`b+Hj-2>e^K%W#_Cpn0KB@U;N5am`)u*W&y~JWe8NE5=J`
z{<X^osoxQk5#Ti$4sWygnz`M*?lu_c4}$j|@j&%JLA#d#L=EzJ{PXAdcyY11+SIhW
zD}|Q*GgEz{_wcjN-v5_gu6y1ZPRdBDOd&`vaFvC5JXg!kcxh}!;(^Qls*T9(+pBFN
zU8}cH)Dj&9Jf&D7y6y2E%YBSapozKaqgy}a7Q-Z-q>alo%$4~n;=kGCurm+~!T*xW
zVLJp!mI<iCOhvRuW`i$33f@LW(H1hfO7(;HSY8<rF~q#jv>mw9%!$Ww<szoX!uwSw
zzWa=&>3D1Y74Gn?NXjj0pmh^c^!sI*ft=2sZm$d+0sNo(pq_|%qQ4num3ImW%nh4t
zSi@3yX`VNzvgh{k3okxL(N@$KkPLzq))LuxvzS;ksCeWII@yZmvQa*6%+ge9;*m(a
zk5CXHcUQ_WimFVdX*YQmz?;$&FQ_0h9gtZl{4a+M5+)dAJR43H)Tdw0!l_|LHaj&&
z%fA&;awPrH|7;C_q{xK)-GYRnPnxhcS|CK|;YbRv)>ddh$N`0IBggAO-?y3}fU4@j
zC)H(5-g!{y3|G&p6XlnrWEr6={W)IV@9Tt~_F`QYin<R!wuDsO-Uz*2CP{cQ--12D
zL&Xv)yfgx>%dU+@rCbbSYtOLeJXhGFnAD(<GP;;%RN>(iB$!bhf%YK3pxpGRjaAa_
zQL~r+D<`Buk)KpmEG6c874b`TS`Gy?jE21t84(qV1k#=TpZvn^f#x?HsV@c4=VvtJ
zV+X~#J0UVWjLuG-+jXNI^}(|F<c>{#@KcE3GuT-ec9qb~l#s?T4dUetgA{knxlf$=
zmS!psw2UI}Rp{QNK!VkT&|!)!kdw2YcmsnF4e~-ksuGGST^_$XkcJT{m9wG=?uK8Z
zqm8oQ&&(`zD^pGd{3K<Kuh>wPf<Mes5WYwgQdT|QZin==6Y6l9xbKqP+#Tzh%H$c%
z$Z%J}V5TVNL$>c~?L~VqVaK>wDXLUO#ixk}n9GyZOe>TV=9zb@%*4PCTe{kd<W)_O
zfM>Wa_yR<J6n@#;_Ey0;%EzQi7hJAHNA~{APVtd}g%|JjUL6@2rdAGq?8;8P?~O2R
z9c>ZQ0jlaaG2~P&K#j{3)(M0;Ix>gNBW*Xwm^PCv1U9=uiewGG9m%c)k((TMnnxbU
zby0jusibl<m6@UEp1Y<$?ZVaI!@KZm)x&@|P5!rB=HZ&a7yAd{RHX{i4i7;GFTH&N
zxr2W~6D#^16XUB)@7Tx&=;e^b@+41Jz%5`Ma4}W(LC=Wl4`z{QbgASUB9}#GQ$nf_
zRaT90D<+`YiUq~|sVsr*_e<YS3G_lBM8{P|6F(SFt~PA^)jy?ad?}m^Kuuz`zcmiI
zFv0dd6F<jS&Mc~wMfR@*>U_W22q{uop(4#&tg~Cc#b8#SIjgvP?;fqO7&$E02oxqy
z9Nj70IcM8^<`Ql9M@Dc!i*9eMfpXnFhz4e(>*RS@KV{n2hX3=VW4G}bdP1PrVfFmC
zoJ;vB!CedM%plvU`?No5(o4T@Vh_vA3#|kOt}-)<1gY@mcT~;`xjfGsp7h7jaloqg
z!s4v2H~(NTJ72zSyh0S0D)p6Sd-E|6=yVs;yEqag4s>$xjNM-WyPm%V$&9kmX0RSr
zL_0@CKB~`yf%bEN-_qnp)hI?kROgthXGZitN?WFon>x=$CZr8L%~bS$2^5RndS0&m
zg`Wk(HUJ4v=ZX9~I-xkXP9y$981mEEr3D^(&)3JUFYupN(hng`H}QZB+D4V<*zDk>
z?6t0L(&uTUU?q}pZ^;424k99oF#a?x08mw{SdMPD_<N(!%qxDqqL25SA`;u0PBJiL
z_FOMz@P&)!{4WDSa_MTTi+9sS33SUY!-qPOj*GSqOL-)tJVw`=`?+sD)^VXXWhY0r
zJA#~+ZR^c&&JLU6HtDxU5JZojgP*_6%(XfMW65MeclodJF~_;<glFMFQ0<#*39nVj
z9~Nneh^~b2GKSRXV+JzLqV~rFHtrQ?Qa7OwiKFn4r*pj#Le<BiqsBFNG$%OMU}N;o
zY(W|U;>K2k`K#twjPFYxvBgv|$7MDGH|zI^IH0IWn11fCDVq=eL1)!%r4YO3*jS&+
zH&E~jl>X1o*t>!BG2$akiJjz)#s>zODJfNJkjy1L@7W~cy^oJZc6mX5A=cTrXQF$g
zrp<>9OBc26uxn<cEERsxG<2q;sViSEmCk?O6Xcjz)@q&R1e5jON1gkr0+M-}RWe@Q
zzlh-!z3Ci;Aq(nOv0EKTo7!uY+q*2kRAQh*56FH8EQ<*~ez))@6^7irF2G^!3Tk)!
z+`5+TO@T)@)`VCs?B?_763qIShu>wt;w571NY(R^f3orXy14UEgN1u!Z;&Rw;cySc
zKa}(jcF2B9pza(zc2+9zB$e&E>e(J}gOw+Z`s)6YuN85w6l4#d|2*_BXRoNy3UWj4
zuqIh8tOIT;0aI=-0X~wzG-|<{>15MKC6GP*;yJSElZR1%lXeZ!{hk@L4VusOTkkJU
zXfbg4zEUTDxp>5JECsyRHn`AErSnT<Gpvv2RZgh{z>fM%jHQ)j`~{pZHOaN=%#)wO
zV9HhRViy%lqv$6JXLXITPA+L3@SMmy+pmmrI^W$UtS<ypd^_1|<_+}Ykl5gMQs)vG
zJY9I8zq#>=Gs&!e4el7$BG1(U*pr(yzp>^8<_f(5^<f%Xw(=h&HQiozKgOn2zvk_5
z;m#{vg8-`rol3N7M@@oR<8K4*dEL4IV{!To68UM}y*JlS5fJ=9it0BC?wabiF*Vj*
zA9LN$_-FzjJh*(4cQt8qdztIe#bNr_t5PGv^W5xrI$UU;I3gKh25?NUS>sxI{N$tu
z&5!{9gI8wxUvdMX$>?tQd}61}>Bp|vd+}2OW&a}8hut5>6pD&nrXR!e%>($`8mBe=
zrS1q)49PsMvJ38U8-Eep?cS*<H6c<PEFGYzCgU3msrmq^a0_>u^Ryl2?ZLZlH=@lI
zQP#oVC!RU~()5poSCaELm}+)z#~k*mcgujGi>N>!B9Z-Im^*S+oTUZc&Yc9yUshxT
zfOy1hgds0xm!IIMlKji);{)GEx9~sPNJTNC9_ptw2-0QHERD+XKp1Q4JQ=_P{^GU%
zA|w~)PScG6{<22d-oo=Ap%fcm{;>~%m_3C$lt@?)GO;NFmP|g`8IB60>?OQXmsaPW
z1STFZWQpLo1+(ywBBi#vsS#rhiBt1Dov=3~TJ~S22HaDi(>vp(OEn}7BcPhuJ+4)V
zgkR|jJY-04U+&d_g714!sd(#U^fi=iABVp*hbI(seldWr<i_P*%xOuC;I9Rbq<pt|
zPfds(g@3;y#VS6<p7-0Po*Bk43{U^|89#yd*>P|B3QZz#ZND1hAN2$I9rWd?f#BD%
zUd{sSz8QmxDJ2n=KR&6P{o@;k$Z6Y|e^o@(D5f`s?d!<pT*A{C{zl^s4w`=*x(oTM
z#zoJBV3H!rFz&Lgz-QNHYNt_bUMYos^9cvM5K#2kw$KZi0!<2jwBYL4J<`08p7VIW
zf9%7kWQ!wF0D;{ifG|L^=<A(1`5r5sM6oxhhq=9SaS2{Z{POSAKV+-wE~M2OjItQq
zL#f{IW^i=`I*V?7KJyJ|)?mgI|B_>o$t})8=qJwj3j1xd_?=oIJY<kZhi^jV&x4my
z;Zqwf0;^G28k)A<9KdY>pG#5r*wiwAvj3@u+>~1mw4a)+ONfnxFNf_{=krQ(qO$aU
zu;hzwm}Ut6$C9)n4e7PUkkj_YGXlzk55DYsgRO0j>j1vNg)@OwgzxwR!#RPkq)k`{
zaDBcsUTy<0jW~MNib#TiBRYVa@2*qsvrKuYF5w~M!3u{{9oxx(984r>>J9_F*nzid
z=a?ua*S;)HWT~D9Bgvg4+w2w$WLQ_m>ZLGb&2wS>&}0IipwiUJ1sJl{+FG;L84QN`
zWQp&D4UDL%+cBZ?6{zR@-M%oO73kUnLndIE+ykf!ll-L<_Rsx%vYx8*E>kCDtvNB*
z0DO6N=)fY6)JO@9oJ*9Y=hf2yw{khntLA6nsAmMC*2k*wxl<O#GfDqZ*g-%E=QZZn
z6E>%ulSP3|c!;Sf>2EeuvY3{uU3Lg^uqY^Xh?}rOPZJIVsDIF_pV)JH>#L@{QBk1Q
zk!U;;r<J4|s?^N3=%T1tRkP}CGlv%DoNa6@ye4{i;>`}fk3swLIq}&s_{=?+WtJ7d
z0wID-&Wp^H1I^ZJN&ZwOYL<CJXy@C2d8_ZJahtl=ql9r_$Wl3ajqvVTQ*kw8!3m%2
zG|d9l6#I)?@WJge;5YR8e!G*X1l>_8mbgn_Z2n*!q2}>B&}Mlgj!7c}F)2t*_JFE5
z=j;I6Y2l?+JH-z){y0Grl%r1(u~2zd58SL=ncw!*sKmKJ%VZnh_;xOM8B<MLfc_zS
zP4qein&on>b4Xy<)?N4Klz>elHnVl?*7G<k%GA~0Kytmct{NWVMa2PM;VIk{tVsBD
zTYCQces&1sndi--*FW9@IK(2856n|h4me)5WR(c48J@U>K+jm;Tyk*d_*WKA!9%oA
zR|ZI=VsPM{BCK2IxW<9-YgZ=BovihLq{}&y9&@4Lr%D#2w^JX%N^#aLp1~pGGVkdp
zEm^4mgITM<O7A5fmn$A0KznvX;5X$1gH>3h_!;HSCq1Uwghbk<-Q<R)m0g9L&MGvF
z2tc7IiUtL$w|+>VY+<QdR$$72JXL0i<NSeZzS!J%BLx^-CQFjbYb$r?4OQ<=@Hr3?
zFMZ(_{N$*u=l4x9;Amz$3?aT%!DPynvn>^L+7N@0RRTS7{dy+id@2ONCfDlNfKBN}
zw5|dRS=UA+0<dcuNB+{8pj<xh>xo}FeH&7bCwWCuCcTJrQ+06x=XtgB)>S-SgOkit
z+pgK+DX)sq^X4&I-_F|sW^@FKW-Q4K7FyFwzx>iQP=Dz|VW~tau9(y#y^#9%O~ep5
zF23V-g7sXp{>ErdP;#@>_HbXsVc!LE%j)|3VF!pu`WSYOn{9JWfn=EVv|^qiGI|e>
zkQo_DBLJVsUz5Usg3^~8U!6A!ztFUNvke;8nELe%@@>GS>-_m@0PI4GNdb{&{AP|U
zs#4u#clkIfv8P6YL7T>@t*u>E6db2{;+jY_jtM3FX}N(w_e=Ktb<05RPOB@zCnWv}
znldI*vOsd7tfO)~Zhr_B7l%F8p9m&MKW&CQ`J1N8ft!u&^>kuy(y5dSU-}_Gc%ID!
zF`kh~WKB)#9uoLApRmDkWltjEE}(H*5@U~!xQh0pSbb){I@r34o+8Kf1qt+$vn}c2
zFLjX<*|E~nR>klI2X0!8{nTxJPd+CAE?NrzksjPKOM~;-pPn|2BbeKy52$pYwI5)v
z(7#+sI;wrr%c`?o)Y@3!@t-NzgQK0>E=HtpmYQG*SE~5)>w{{wEm$8#QSSmX!F6Ww
zuF&te8i`xR7dbslwvjwIgc=~2mD1+);T_gL?qjYn<MY$$1~0c9fwvQvs9}efRi0a>
zVv>>X-h5<bSv+AQ{b<wHdvqN>(dmD`#~m^LFg?CDC|U`fHJ=<F^6njwZXFA$RH3sh
zQCmD11POV6?wv5m+TZAWd?}|nlsz7O##{;Gx3!WD@OA&{i&`T*vQua;NcITHGPB{c
zwAFd)tTtz_usR?)&+l8b{<0x{dnSgpBgl&2P)Wr%>D7lo`_NFhu=x{kZk6FKm07SH
zt>I?qYohKI^MDt#wPVuIunMjyeEfXgc^$fLFZnR%5nY4qTCT;Q{<GjNmamjhN!l=`
z;U7T~Bt5&<(5j%<-;bN1gDUxOk)Sxkv_4hB%cn`vz3&(%r}qM}y3wjA?6+(FC`V9g
zI=8UyU0Is5ZotX-*7d~;c^7QfkRlWug8^J$?#LI%M4Za&+#Ch-#w^;X(Pk~^L<+LR
z#`;zY24$Ha!{5p#qG=L+3h_{}$z3K{vchIyX#YL%^-7|rLlALbJ)E1-aWx6WJ0j2{
zBrFnE;L#(oN&s%MW2k<DWb<qupCDMwPkbpo9PUv|7M)m<()=2`8zS*<O682f0lXg8
z2gTHpHe6I$4sW@QA2<tJF2bYZ4B#OHt{;-yTr|0fM}J1{UVS^AOe5=DRuQuNxin3w
z4VgJMlf)Bid_>j-XeFGi8aL{mf1v&jZlinNyfON?O)4))9)}+%`=@dd5Oq7O^Q60q
zgeXa?usj^UvG?KIaUzS($a~}28_c5G{QP|2Z|0J(%EVR-es;tTmoyz1_B~`BBEyz2
zQF?-gP}T`bp?wH3dWN>#)W>`1ozXHv1IgKrc#_WM(ixpQC<;)=wyy^{ELB46Fb6C$
zz>u>TZySG%C*uyHRF`}Ul6yeia5sLuE40V`8Zn()cg82ddy(JNoGU}69BlVmQ>QVq
z9vK(!5R{UEtU=Ea^x<>S>qYy4Jbogm!2EP+H`7lEjk&VZQ{8KF!v_C49sJIL<q&j?
z!@_YqUldIpAMw`vmuj3CaZyWhzov}brNN!1`Fp3$l2ysS71qlu_N4xYCaTVhxf}f8
z@K<<%GOV>-;Ho7}+h8NOB2n3vGwRohWfH!gS%~!LcnBL|Haue*1~TBcQ|n(Sg@A~!
z<P{JdvdM~=6I3HC80<1gb}))xmb{2|+LGE!OGxfmUM+r$;~q)ow;<=*`aWAq4Gjqb
z1E>X!bOv+Ym6zNKI7?uP1@cq98feC}nAMOI$rin)>Rid@_X+;Jy6e-3pEM+ss66ME
zU>QMlWJC)Of$v`KtfNVTipmw{-mf$AU_6(>dL3-fuDxb2F6ZIkW7mwTLI6u~d{)Q%
zd<k(CPhL5<MbMIw;tf*Wyi%e{LD)IIC8r3(qeo-WNL7d~-|%|3LR-21%<Njr1=u-f
z217S|jd6$C7DgCMao<%FVbr?1`o(m^5Kkb4FeOi|m-CR7+RwFd1vxWhGy~3#aV$Z{
zPQ6KRi2s3{BuQHqE9pCa4&eYjDwZs^q7=G%M?zLZ*Gp5QcN_<wOY!rogDkI|9|q^;
zlEt?&*@LvyjlJE`>%{rEqA}gWV9Pa$FTXYoJeXH<2Mk<y;fm9fqlJ};$6jS46Lg?W
zG)PH@jTR6LmA+ct)J!p<ANg%+`828o&t@2o*R1QP_s44>aV;3YBMGg`MiWqv_K`!9
zR&(~Q)Uw<qol*jBV}660?fM-cO;}K*^>^G6f_lp0`l%zHJYy)9(%g;6L8bq^b`~YC
zUo+X(Iu(}LDj}wL6u~NV^at~Cd()7Z6r%8oq<#1$v-Rc(PoGp?I}c}FnP2&;bm8?6
z+^jzjs1FA_>XGuR-ncGYn-$%&0_)zL0)|-=x+fw=rq1#|(Wums+i8C#33_+}bN1>;
zwn2QCRjFe_p=isxb#8(oWL-dflQ3N>iDT<Lnn#=!Swqup&0oK)iCtu{vOiFr66hf&
zOx12MQ-16!^q757`|8j>kiMJTWYXNBM`2S3q&MAOBpSaW)%a>p;i85ZOBwi5+^NY5
zMcr?9K8YmdA<@X}?0EtEn49v2+E?nSysq1C-Ms!L=}r!}MDt;rtzV#F*b5|+8<S0Y
z1Fec4GJIaD(ac(mm-M!gfTQAkTGPI!=tr%RHBjaC4PdJnzTu&X_UU=g_%Qpf(%tw%
zQM`{vwh^!Q;U81387@R)6<m5AVOGA*YDaxau#{nHcEM=(qlQFd@Zzv@f0uPjZ#g%l
zE2|bf`ywC{1JuKd>5E{2om5AX-D|T+{|3wf2!~cItNeAp$C_|GRu-S;Y+Zwj88P7@
zhEGVc2IqHQD~$}Z5&k=Q@DS03;0F_#fs!4gEi}h=^P^m%Mq9sMzu}hWu3Dnux;jj?
z7=JMPYi|_HlW;g8T7B-bUq2V;avTj`E^a;Tw`;YwCacSCMvf@|X<f!nCG&iB*GIth
zIbQ=SgTN$25r<edzB9y{2tuct!xtt?@=Nu1sXmW%Epjgrwii)O-9yE?q`}j|w%6m|
zB0=RwG43As$^RMEv2`37CSsIA)MJq*PVB?$5aWBsz?U82o^oA4u7MPtYvaCFJb#)t
zSqGT86agv00_`Tj-KSHy;${!mGXEk!_duwA;Hvip6L!q(3-6tV_pR<Guwko3OZ$Sy
zsjF-r12yQaMGJ4b+4q-^@Dm*Bf(ICKqIP-9ao3D>z}n1^MlJ+`$Q9#>HEfw-4<$Lt
zJb6B<=8o;P4{EbB|5^qk=mxfXSUcqc=@sj^%XiBgXS^f66d`OrJ9l@X#}FM5_pAMm
z+GK_*w3Yfg8IFtic=PFZZ|02hJQ{Ta>D4(>ud1kyVvE^khJptV7jyXn^w&t=TWt%0
z<=9i$$E)vO2<jvJrD|h1PH!>$8;B2*u9d|duSTxj_YpsHTg?2vwwh`e%&#nwM&Dm{
z2Bu_`Xuu|Feg^|g_rSTM%(gQgJS#2Sz)vz2A?UsuR}0*H&jZVC1h}E5lA(q{=-TnP
zBKSfhhsG}>JD-oE?DVSjAb0)pG(=wOH8M+j@~K;_y6ODz7BjHNYRu9(n^z-897tTN
zZzk@Bj%<dDg_=)K=vy}Bt_KfM?&9~!E$#)lk%{U5Vk6k%CNkus-M+p?$p4N~L}cx<
zvgoc;F%49Sq<avX%jHSp%qltFDlip;cbP1cs(coGdjScJ&6?7#K{>t!6QeDO{)pb8
zpxC^+QX4YjDT&jJK+S8i3+BP$qgh;DT;e1_lIJGKUZl%tG(C|Is1_HUgj&NM8_ReM
z3nveXNkkWzfyt)7gU2#Fb-+tGm9H==<`!4-c`uxM5bJ=NhMSMDCXz9<+;+iuup$EJ
zn_=6nTVr6hb1KB~aNsJmD)`cbP_51w$nl_mn{}%HlL9T-SW(Wj69Z%aqvn-T*o^@p
z*2!PR`!u5BUnGY75b3~`6K!x!@>|Jr7~%~``x<hO8b1T*!FznxafKOpOI5qrjf6Wt
W8|#4)GLQ81Q&D&$U-ioD<NpIt9g6k<
index 23cf6fecce91cef54d494bb1f4aa37052c3639b9..d45e0d76eca1f16cbbfdf5983a6cda366f83ba92
GIT binary patch
literal 26676
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
index a63ed03df6a094a9033df2ceac90150a08571e92..1ac2b51ecf12449a876ad80e48bd36280032828b
GIT binary patch
literal 16828
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
Qu+NvYgo1dLs9wPT2egLfdH?_b
index 90a02dcdf73be99ee63529de05465e4ec35eb883..1eec4ca56a4b625fdd5ff616adc72530950dc06a
GIT binary patch
literal 37656
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
index 009fb61bb40de3029688f33705a8b6dafe1e067c..a6358fb205bbb96879fee855b95e84113f227fe8
GIT binary patch
literal 4446
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
index 4afe157ff0d1a6bd278c41bd14ec356ad47e3fe1..83892b539614bc3b7036b2b3eb406fbe55f7f14d
GIT binary patch
literal 11554
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
index 05204920e9bb84bfe17baa0e77627c95ff4b5625..1d44d1d13b6e0e040a8880f19039b779b76ab839
GIT binary patch
literal 2920
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
S3qVHz0000<MNUMnLSTZk)wVVO
index 9cde47ff1cf4ce521e57158ea6aa15bcc1332528..c72810300af3ae507d1fde504563bd632b38bf51
GIT binary patch
literal 6372
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
IXLb?)1IXi}PXGV_
index 32925398fd3bb4c559022e330f8611ad16417de1..6c8887d7f377cb661506e4b992167ce4018a9cad
GIT binary patch
literal 4582
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
QHUIzs07*qoM6N<$g3-$sAOHXW
index 378235e644156f2ee686d2876fe714cfb860d376..09ccb076ea3efaf8dbbc5352c57a796785cdca42
GIT binary patch
literal 13690
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%0Do0c=H2k|ZjQ!6X06SEv0AtAdF9Pf_}!T)BT
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
index 998fc16d92c77214e364cc303e590cdf3dd15ce0..d44be9c25efffd1133a5604f9f3715f73938c0a7
GIT binary patch
literal 16541
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%0Ar4-WLWtkWKcT)Gw!N`
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
F{~x1c%YOg>
index 9ae70e3340e3dfdaaf08ca8578d1000e64414186..af42626b3f49de40345ec0cf7a5488a8bd4080aa
GIT binary patch
literal 8901
zc$@*nB0AlPP)<h;3K|Lk000e1NJLTq007_s002M;1^@s612KCK001J4Nkl<ZcmeF)
zdvH|c9f$GvJy|fs@dgRVVgk7U0yRQ_#7h+=XsDOgdWqHXLcCWBIwDFWn5?5fv?xjy
z2_ytXK@e)DXpy#Ki()RwMXW%g5QGS+Xw)j2Mw0C_ojIM;WA^Nx&1Qdg+-K&~SEn-H
z*%#hfr~M-;R;*ZZc@R>CMJ0VWF2*=yA_XTw(dXEY9r!C=!)J(OJ&=b>kb`s_2Ss0D
z4{EUvuj4yJtQ)E~oy>71axI_VyuX9kjW@9d?;)binbs(J|APjlitaC3St+_7m*VY~
zeeGT1S5Doy&v!b<3|xU82&M0^26OQ)x>7vu!reF-q124|coMB$e0YO7e8@)}La7EN
zcs&9SPxStIc%u6}Jkfm~UL^M2KR_Pd2^^2&78nSp4lKca_!4eA6VD?Z;j{<WqdJU-
z7soLJ#pr=>T8mrJ62`+5y?-8_=spimbf1UUo%_xYkjFQI;}v8e5`Bov@IFGV0A=vN
ztQA#w9Xs#|NcBY~^6(49!|W(-!%`QIFM(q<E<$I0hgO)yJ3P{Tn2358k5Baed3>V#
zJU-EV9$z=_J3K%h-)N2v=#5DB8S=0N!MX|Mwny|7=HOE}m54%2wLRXOQ31zptlrd<
zV?EACpq60@%ogDq1nLmZ!5%m^ds?ID{ihB}72SV!Wu@pok1wkG9^2#da#Vrwh}Q?N
zAO{B#sGp(?W(RON-a#mRifLGZwMYi3GBn^VIJE%h!>J?q%J%n8^+y$Qoc`H4_cnU9
z;QjOXM1TJmuBa5<_oR5EzOM)H4M^&SeLl^x0Ta-j{TUaavl6fq13_vp#-Rz}bP6^i
z6{J4GaC{Ts+ixPr9}%oF+zzv)n1o<GfqMcxKGFM68<Z-#|ICU?(fytSy(0S_Lo2h(
zgNz@+He}*>bXE)A$5_Oplh|MjYhiCX23qzmK@-BQ2^V8Cj>SMshfmp>RK3aIcpRbB
zGtB=xXDXh-hsu^#e%briT6CX8_qEWzhheiq1gZt2upj-f1p{EM9y$0DBT$C~bk+m*
z3!r#Rf!QqVLRZ^`S(e8&1*K@U{Q=~ms$mGFB!|CuDh_w!H?Ymi-oKXr{TJPrx_>>e
z!mqB~>pL~bANEQV!0bs(g*6{aV74B42-Gm_hS^nE1w~CrM;jthPwc@dP?V3=Afib%
zZ@<Kmk5H;Z4$QV<6hf&5ebJ8pRC@0o(fdzJO&8r?@WN8j{e)Dn*uMF%pt*1=3vp<N
z#wgf39cJ+u4yST$5AY(Gm7@)jstx5RHn;2#P`mqg|Gv=h!$4nzT5n`w^MALs?EOpc
zlkDdg-1lfj!T;e*ysCf+I0yDF!wS5OtC0++M!?z_n5{#kTZiKBZBaqZ+bJ&pm#;(|
zi?4A4dc#eb|MLK4@1K1wx=*6}hL+nmzX1~wtUSQ6UjZT28`d(Qs2w{H>2{zUamcWJ
z`wdX;Iu=Rz8j0uyHzk9Jw3fYp>3tI2Hv~Vw`2de1+O@-4JQTH{4Uw)5El5H<tQ`Y4
zX(XW$ec>+KgVn<KZ)nMV`VoJA^8p@26cgL*2=JP|Rqi|9cDm_^?Hf?^{<YGg`y{$=
z2;RT>0N;hZYE<HCoE^ru#1U-7O3c78ShH^)MiP3X7rsR#^PrDq%lZQLDffA8r<*>4
zWnS?9<@ZT;-w@pQFs^6=I$*$TEUrZvj=^Y*L@JWe2MOpvD?Y&iG~yk+i=)VbeY^u3
zU~LzY5Qi*mLL?gw4~Q*G<vC~m<Cfa$L;PibgxVb3fkANF77&pZzJEhY?$eL>^Xtsz
zex>N*-M%W0pTpWJT#azk_!DwrtqPaH+QXO$MUUcsM6&xa7m6N15s2v4+Ug390(5sD
zBN=`W(YzTSir#;E+7QwG(xpp8_xlg^itKxM{niI?DKyOTu?=$(PP1Vj_u~=RTWfiM
z1t`I{h(rc%vTfO0=JEk9z~3+qQxIy;!LMv-;rlnV<UajKKflg;(XY(%cKV*?xD(d=
zn2EXYBb4GW2h(Bi8B9iJ)gT9o?!`Prq5@PvQ7z8E_qwgNy4w8jg0u{iU>54PXDiZh
z2;b}R!Vg66KO=3Z=>F`AC8GPu!@N=7H@^YRreid6V5Tt}<8dFh!Kt$`4>_<`3pN7w
z5MG6%V!Vux(3Mi~7|eVKke<qa)WCpK`(f<>Lg^tK3b?Li@88f`bf1JjfAsft_Da99
zmiu>K62}INL}yiF9qP~w172j~mkz&fJ1)dwIJF8_K~XKn;~Rw23D}5CC|Zqt1nl;@
znqrO;IQ0c?#2Yvd%Wx8$+K5~nMZo44Hi+K;;Pg{P_a9oaSad&igg2`D`iz(S%HH|!
z`4)2Afk?F+lkrak>qOLHFccMHF5H%mDvW@l50H&7f;>RY@f@y0u)e}^2-Z%Vhr<Zk
zlMgh=-9PaNMfZJ+7mMzv|HK=$eSOv{zp^%Nhp!jMek7u+HDfxK!%ag_4@Gz3DTG=t
zOvZzj$8iAT(1@VjQCBm?+>AiAxHRO)H?u+X{)eOw6WuQ^D-+!xe400^`yN9pd)G%`
z{C$+60$;;z1E8oCtD$Hp3XzOI;0@HH4gGN%CgK|Oh1q6YjwXZ@S8}E5dhM8pS!i>y
zEqec2i|&)`eq5A4zlT90I%~TxfujiawxALlk%=+zq7MulK_j-~O*Eh@T?a)K=!Yke
z4-G}*5v+fq6py%h0KcxQIhEsFgj*Y4#>3c!kXumHkYIG}{<q<+aPNOe#_$9sxL@?_
zBGEs8!%z1{ec%2KSb}6IYQc*r$99<Qz;bj~Cn6t;uEL!#>wp2Ln(;j5;~-q6m7d9A
z?{k!46LOG^B%Fk!XvR*wg>`6w>$H}=e=Ys{FT8IE?Cab$ex)dTn{PbFV*CZa2d8R7
zwDaLXSZlz1Jcm@Ai)19C2R_4I)M6Xj;kr9F*N)=Y0u54I@ho1zH|Vy0S5z;0|3fo|
zi|!XLTqL@mInpb#uP<2ZS3i`-Z1oM~*og$RV;vS^1N`W=CU34ihGPqk#~M73t%wz?
z+wv@3bdma@^z_)Ar#arkYOKIPL?x}1!Epr|;76=j-Jbq9?`JAjtXMJ`h!rcAP#(C-
zyZ*H#jxk8Vi6Hd__TwEKM&uLz`GC78TqyeU0nN&bI)v_@Xmm<H(f!|+-XpqyD0_7H
z`|f`}AkoJ+tHB(TFcBkRptCx#9qUnv4?zFFKOc~XC;0OLi7IAw$lX8j=tTD)E1f2~
z-#j*}+xGPUhX>envr6NbgDYXcO&xd{h1iR5I@9m>FV|Y9sW9T#?&a5B7tYTIte<e9
z=+6fv9-d$H{<Bj0N$&G)H%)ZEIeXN<+dK2{sLFef|K4-XOfs3QY#|9I1QNEeMF|x|
z#VS%P7Hs9V(o2inDpl0F6j5sn#Rc^$VH2V#ZirA26oN#M3JE4GSrM|3h3pGSW=UqB
zGv~d(koOsKCNs&53E}?H@AJ&_kO$^`GGBh*dCz&*>&_=5K6D?znq{z@Qo5cH5&(S=
zUc*EPd6pgF1${XmP!t_v!Nro2AI{~Koy+^Nsj{Zt2&j=aMXHk$CxzdZlo&T9VeD8z
z;Dx@N4~XFlplBWenCHP+Nu(eGlR!Y=Jp2byfGW~?>s$gp=;MFDa-gst2n0Z1M8O0E
zeD*&vdf0M`e9}igMLzMJkKtRn9DuF|Ajt2Fs0o1h%x{`LWkC2OdWSrKRSyFJfGunW
zN`LBIwsM^MdOo0p`Y!$Sndkrc_KDKV)w%3>uc^!KVrn*JZFGEW^v!Rr{_E^}?zr`5
z9Lm@80WZy&tE2$m5`fv@K?N2ue`Q1a*T9q<5%lW>e_>J&UxiIv=Q^?S-h)SPr2iPa
z@Egg;+s&0Xl;4~*c|iFB=l&l)2K}!U_~N|yV6!Nt+X*4iA$?nW+fy&C`(j_}(F3fL
z!vx)>XB{DV7|?GXSo+k-2j}1Wz^2z<d?+M1C>T)en!TP6D53cr3!f(i5Yo^rO6!10
zNyw~Tx|+is6jFHt(|S8gkR#;A`cL47@(JN?D4!eP&re2ubS;qOOIgcvJ=Jqd6d;O@
zOM<{h0ZOZD(_)x5pUc1S-cJ~mk4&06aruFdH$4>=8XU@QVe9bPV?2ZyO6Sb=>U_Wo
zn<EVX=5-0!cO#Yj-O!6f3Y%Dml3VTiC%K{iPl+COL-}vNwd#iQTc;%qC|@=iyY!C`
z?r=z(c%FmnDaJU=ZXso|+3hbV6^bbKXZ!M%Yf><L@34i8zN)_Cy?719&aH3$6|bx4
z2zCd<&0JHczHdHfr*w;w5a>;O_f8psK<^R=JV5|9yE`B7vww2oM1oC(gX=2V$>`?)
z<d~u168;@`o%xL6%ExEE7sCOhP2@ToK<QORH@<e-_;6m5Ho^5b02z$mbvcs7YFq8^
zr&NOnWt`5*Ir8sQC9`KH#m>2N#tcG;%XKAs=;(=zvw0Wl7X0F_gz1TsCW9Mc_|zRN
z*QOZR{)7-`>+r9y(~ccJmYysNpYLkxxCUNp%6~t2|9yb!U|<qocO9OP0On)(MuQjf
z<4CB>EoO+f)7^{`eE|Ue1TK<9SS=`sNB^q}Z8;Trwvy-sW$dUa${9dh3kzuJIcr9J
znZ0gIl3zk(ykfG4Zx6L-r``M)?XX&*^vo~HHRj}J8cHVIqK=(>Yv2sx%9nuVq_<_1
zT{PECn;o1Gm!NXX=aFx>b>{<htmZg{N4}w@D5tF{uOw(lLTpg@<QdT20IF}y&M;}p
z>Ovxu5(2{F-0}(G)Ks!};}eH%H4!}5zvXgHj``B5693qwSXKOt8PMGTYAQOBVXe7P
z7ck+j1izamdGH_kqRq)C<91k~=wYQw6dldjLa4!w$}4NCCeME0N!F7WoAu4E<jE7p
zjF$!UOm6lse*5Su0I0=~O)5K+mNIO}pdsK!$TA^oNY`x#%@*tLRQ`Tn0IIFs(3W`j
zgZH!bSN)+o@{aF26dV*7%vcWrz;0QA-S?|+LU=L{ypYBrm3KYhg#)Mz<+&K}LL!BB
zfk0T-6&t%=;Z>3YnmHca`mb$tRK53fi_`yy-x!=6K2jL(642~jYqeMXCmc+AV%yLZ
zbqMFye`J}E<@A4I%n+5sL7REreE^$kZB@@LDs}Q-`*d`2OuWC0UzBIee(mwft9*_l
zlQth3lM*sWaLY%Q30Y45+i$(BqSVn$i2M4p8XK#Mjy~h$kNx=@$*Pc;@h$<)F3VVZ
zl}`vaDPi8$6u~dVEgxAXWI6e5)8bWBLO$o7Z*Q%ss#$-n{zp8qD_I$V^)Cx(Zg%|#
zo%IhKHz{USS_&UH$UR>|KG(@76L(U`T4-7js1EoFJm_L^Sr!1ybQ&m0M=^kNpo{Q!
z&$;2z?1f9o#f*c+I6N>0Jjh@)Ed+qCfyrdH9KgUX1XSv=lShC1$aD9xBJB_Hd$zyx
z&HOoc-V3NJEt-zc`hcv+A6ne5AP@*%$RN?yK#mM$JzAUze-2=+qBpWqdMf~&0j51K
z3k#Gg;?e&r)uPOQD$%3iBNa0L>q_lT|3Cg)D_OB+XmRK;-lP9EGj;kuE_(0+{{YS-
zzoy(G<70r2#*Fco@v-G|@>ee_CmRloDIOZB^vJiEBqx7U@~Q=#pz_E!w^hsdXuwfb
z$VeIAs3~>wFP-=sNtnB(Sg9W7kuQm6C*P15yMXiaT>sX_vTl682zmWmYOd9P&9<dv
z<jRA^im*t}d~0X@lSw;_aPS`877WXZ9-iCmJkR}{^&sAiEm*p1YiYCFHA;nI23t*V
zFQxPd>EVVR$MD|mdQ@{*NKh5_SVjYC-Nx;IX5%LPspT*J<&hNDvs&HdEPBv9xG36}
z?GHr?)^<ti2q1=*3{nx&$P@1e>#J;zl>qQIFr}>&wqRIR^zhtfCmcBa#{i_eww4Z&
zYIuP-{Raw1fPhE;byplt|Kp;<wqRI1@+FDdIgU8_4hKzlZ7oGR)d-4fe2RS11HZZ6
z=Hzcrd3p<m#Ur0m$xaC8<WuTMcWo`HBx(pJIQand2mtZOw;8WE`R2(ZwqRI1^3ec0
za9#Kk@;Mj2!>%E`qKp5?C!YCsZD;)pVAcUD9(oXlPr-%&8t^q7!$-hH7`{PlEnf@1
z!U-YJv*gS`wK}59vt%0dztUDc`9GB7IKo&?ov}K`#{2Q$tpox}qeMHd(QcNcsCYj?
z0X|4{`Rp9w;_=l}uaC@sP5=Tf;uIkBA9}H$BQzeE2uI>M&hs1a@8o=rbpQYNBXWLE
zV$5p*5>I;Q{2(B&Km3_=zn;=3K6K$D8U61m0CGMCf`F?8g`D40{WGR>91x3M4c;lD
z_YOjYdm&L216)JSI)h9&+ocxzU$q_A4p8~48Otf1Lkc6ngAXDGiQWVNmm~@|5%5hC
zrNJPVn&ZfT`cElb^PdtmAp^^o9M|{+I{4f`@=?^u=Ri{PWPt0RcGkZ@s0dc8XoCTk
z-7ea}gPMy@IiUaL=xANRjSQ69SOI!1D}|w~XLE?p?*)+gP3>Ug34sBX2u}a)Hpw>7
zc!x-xe4wI@<2V>d5h^+PM6%iVfyDzyJL_M-KVYXsYwh?kqoAwsIZ01Zp&`Mc&<8cQ
zYFbqO{wnO`k+rfNOz5KM5fLVJfC?KZKNTV5x||P)0So|?(PTD37hSN3mG=btfiDW+
zNECEx1OeZq6=^+mkx?(zy57}Uj1u|}R29he$$x|1(V|dtDs)xt$^@o1m7|t$a=x+M
zp$FuvgZV!3^%}87>Bp&5YEH&)(>k1d(b`r^2rmz)&8SB_6_kN};@d5{7LNB*@d}lU
zk4z_DGVrzh@KJKUxm^#)=T&{Hf6<_6AqsyL?<cE&WOmlSfPa7s#bu}OoSC!)x=5i=
z@X?8PuU_=4xfAc5ecPys<Km)6L=KO@fcQfX!rn|%b!~n9g_5$`BgapbpZMWyVR2^a
zI&e`36S`<*bW|e-a1<eg!|+dMClB?T1VNaH*XID$qR}=&7robNDtly5fFY10f#9X$
zmBK24z;8qf@xBJI)GFr4zKm+P)A3V@+<zs<ul;@P>M3`qCyu?vf7I}iis;axLWDv|
zdi39Jr6%navA(g=UR!j|TwYdSDSTl^<T{QcAZLoFuN8yk^rW8!b>lyL$A#6i=7mm7
zoE1DOCSDaiBtj8^Vd{}@wMZuHV5zSvwbbUE)R+Hw#!#5@?SyrN$obV}7AN1VuR0wP
zktpMHf|AeP_g|}rjGR3&G%{(FDs*JDpL$pX$18i}OQO|eH8$0obd|N*x-;ea#{9yY
z7k;u%_KeAx&i6F7o(_$d*FO;yeC|K)UOhN*?!=Jsw~Y!I9v7_)8y>+a{CeiwEGDbA
zzTVtWR;w*MRo+&5ws7jpsrdOpCQD;y{gZKj*#(wUAH|+OaiAb5P#xsb`?(}|^z;mN
zqR&nEiinCB7CLp}xX>Yk!u+wh;w6cK*<ul~Yu}Q8p;*^=rA5c4jn&|*Tw9v87&~a*
zgf40~7~64NaZ1;nsz2KJ>Y>@UO`i{_rsmd^{+^FV2zdpEIbH@7ekr7~-Kw23y!g`D
zsVYShTxYdQwEgz-*7&Y7G5BCE_WAcB3vehP$Ys{Zk{1?K$@~u)!iPqUR)z)!^Zp8d
z!cz&rZlj_>=dje3+jMOjhs^(V2cj4A0(sMA2%!C~<@HYg1)juiNgZFH3glh*bjhMA
z1v38Na7E~-2?3$OVFG>?b3CQABXpv^RkTzTnRVJ`yNtglcgkWxA?KS7j`k<!7diPx
zV^D13f*l3CB0$EcR9bTS^LaA9GGIukdQg0*!aoG*emnr}2%TuRXe~xfna*a`$oRJ|
zKD?N4f{gF5o7(ffUgqS3g2X1ibfAFuSIhYl@}HY7=Z6jpRgV}Kst648=M?@tP~_V!
zqP<;XG1eCAY;7%a{@YoL39pdzEynh|*E{Q9XgK~6;G3(Coy^Mk^)K(aPi_EBHdba&
z1c2{>Nj-9!e_g|s5VlZOz!zoXb!Ijx+6qkg-Z%{L8gS9k6PXzpSXsA!`stih7C^wc
zn-5`VpY6}{0kLKNV^<cq$ZEEKH8nu#bpTHpZD(`L_R3pSijlL_%IV;x@+|hVW{F+_
zc`r~^S)L_h$}F|ae*!f5oz#&s|DT&*>921wd*wgAHx5I*#<hQ^G}n@0Kqg#M70z<W
zm^n98#z!UZzmO>7|9WDce`}N8D?Yv#`E-qI>z9|=o}p_MyYRJD`o`Rh!7+Ep`B;B5
z|8Pvk&-`?bzs=O*6(8RlhapBjC%3yHCj$d}jc<Xfwvw!jAyZxIpU~u48|3wW>gj3z
zHl26%kME76QU@Po(iUfCbYu=tBp~J%=ulj2^qlmsKiP|8aUm{K%<?&oyNB()>5E2S
z_;9?4i*<drymP@H9|VB!WJPhgI-=-@L+7HSBBI#1;wpAhZlA?-{4$>BJ_J;CT|?dY
z+wM<tb4=LC??(^Lh*Iz)pcmzu?FGN9(!R*X4r9KE340xbI2C%4gM#>2oo+GP^-ZRW
z!F0|u8zc9s)Le+X1|gpi_(}d__|iEJWd56tl0NzA`fmOU0ypP>|21x}I*6C^CFFBI
zk?)}C9Ja2m&z8^swzwN#s~I|H@-MgU#b>?{mk{OyAwP+a;Y%k(UVoy^pg({3@os$Z
z<K`qj_sL#C739K~kk9=zzJz?vg^$mcdF!v$KN+0#0CdQFrCPCK*+U!Nc=?&fFmS}B
zCA>@sS?a^ou>08ZpGcQ5(-&S%-uCW}FP?U{XUpH8{qx2bp8C^M?Dp4$p_$Mh=L3qO
z<Gdj7A#9L;Bir7ho60`=^wqV)gI*#41bPs*e6B|q@5TV)&pj)(&2sFS`nKP&J#1X1
zxN~91h6f%U{1_qN;y<AO;G_S5{zIh8b?AZjTeqG3O7G5p#r=O6wqe<-5swk>I`Ji-
zJKn6_cIeY9ZuyZD9^5c$`s0rQac#5dWdPz6AAoKLAdxO%q7`SiZmTcc=axTW_Cp)u
z9(d+4;>xGUCqD8i@`;>JkzaNod0XuXR{vdFK&IIBYoFir=#oYA-E^%}w#7mUYmyyq
zHch&hEw`EDW@S9Q|JmL{&;H}Bzw~fQQT(YxpM8}$Y5W8>XEYmwb7x=92gGaqfY(R>
zRNjw8g|qHovapA}I-)j5h3uRc<TtyQmdwBt_&xJsHvarMPkKJ4tlI9VT3D%B3IHd-
zgW4Q4cF~F<n{J;UjQ&GE`wx(j+IDE~yDdHWAG`eT(VONi9(rB)M|L$IdheC$9{HnZ
zJhLfs{KEMFr2qKr?e#@p9V*XC?vX!s(es;bx_!}nApOjz6lyZ|9xB-@tABX_nWi27
zeCt+x9!u)wT)cetu*tIl%BlELdzi{5rF^m{_4&2$yux;l@+ce*S^Dkn_um;jD0C3J
z6@8f<u;P=H3dLwj=|Mus1VFWFbeg%pd-OTBS&m0tDy_I{PxPP-*da5yzs?725vAs3
zwc1w;E#ejckf3Kxd+LqItz#2a{pP<Ufpqd~ed@lH7UqA?{8v61vvtahp#I}KsC0N|
zbL#fjYP{l4p0{ypXyh&Z#-~)0>I=V2EkC`{EB>@6w{9IYw*TrM@ls9tp48%f-Roa~
z?#fOW7pH<A#ER~A@Io4`Uh~rH8~1;<_uw{fwt6qRRI&S!=T?v2|Ix;m0hOJ9aVYqp
znMqTxo)1VVT}=oH1h%Sv$rCSb?zlGet`izbI!6ff9zZX`S7&$BJyN6FTw)bJ>@9pu
z*-@jej)nG%|Hd|lX8-oq{aN3(G5>q#$Bqr?H-5WL)a-bpcK>%@ws_4C95lM$_;#ya
zQ*q|q{f(Cnd(97yic@g}`iF1SYl;tS++UX^uYZpL#GcCu>{QvGE;iVGFzx%yRj;m3
z!`5dn+c(i0SzcN7WHzu(n6`bq`xu};d-n~W&Ie@wflyQ5Sij`)7e2t%8s2VENT;im
zHxuZaBmnxo!J7GOoqlJ#L_h1W1iVnnvG~6G&&K2OPZ=}!rZlJFV7%A<r<P6Y7rw<T
znKHlCW`6KmO<J2)^qN2Wk*t2<J4Cao<?@NlveTQ=>=y6q@0VM%`-g8cn;P@J&n*0M
zeVWbSnJ>6mCbR};tq?bXGFDdC)y3Qt86}_9B73jlQh8++4l@*O+`cmx*Y#zvWjA*4
zK@s6Ye-Ef1&gSN>T(L}tOP_Z8dOjeA*MXC|Pd&csl|A@-eD3YS-iq<z;{YJB52tcE
zel*()H#8egrW<Vs0pQ=hEUU6x=o&v2N8AL;*wSFH!*RGM94}ORSmI;oSi5)Otg-0m
zUTv<~DEaKa#Z1?z0_1#lZDV7NwJv;wGD@Z9-SW*whoQE@Qk8vDUv%Ju#$4?2^qKDv
zEo*p%ins}s(b865=N}Xi#Vg#`pTll4m~>TDnwqSln)ADIvB%SQzRk2o@C)e9x0;Qn
zmbyCC;K(S!-#uTnm<-0I%Bm|DGmFZ<+nFnxd*=%-t>4es9*E9f%aXFnvfW=D$-$PW
z07KZ3;>dCFqr!189#;?rDgmX{w^`2@UeXnpRy46*%ObW@v<N;5e}_;E&;5X!ku-Iz
zQlU5nOcX^>z~t#m09WsyU;ECsQ}{cj0YJJh0kBAPt!w>TD7Bn2*mAPX_Uc5HVnm!D
z9~H=P0saJ35`cs)oT0()XwJvK-=#GdVTVf&<2Hj2+J1bD%zsLOHdNWl&Kz&cIlf<4
zfFZo<e`Jg@d}tK**AL=VJWn{2!C|c`wdxwHZGH0pa7B`wF9EGCH<z9Gsx{}}Crt$w
zQzt(<UKJh@;};k<RG|_C!eI+*ExTyc)s|cO#J_9#Svj9d6lb)QHI=62)c&}q07H0{
zuMUe14;(Ts42LX~Y+9Ms(0WN{)L!lr|5qv5-S~!v%Cg$CM{+8@-(BFacJhNFMumq&
zj|)?%I{9`}n^j+PN!Q-sYyGoM7*_a!c2Uez2tr(KLsLU~X7<I+AAX*XMV!x$?JDh3
z$boEIZe^EKVRiU2Kp)jwlKGmypYkPOVpGRj_aFZ5^lQoQ7fhR)5H|O&+hU@IhX;p*
z1P1UN&$nahaC}djo|Rp9=-U%z*m0A`cBgI!A9Q(qxa@quM!TaSt=*cvxy5)^<B(3X
z*$q+brDlV%68qfE>^9@lPnkgQ!SS(y4w2^Z0*TW!iw(tjri;hE)a2KcSv~o$X6NB^
z%zv%yHrGdeQ;`%XB40p$bAzqnd{*1V13Q}XD+)~m!vFc7&jnIR%p;r-XE8K2=<2gC
zR-fOMZ)h2q`dgTi9Vj`(JdPLQ%-W`gmXhp?Wye3y*VkM(zC3`HIY(z=@vhjpFSYqh
z?)gG?&h>d#!~-Jy5{Pj)q!OOz{5o3SizQ{3aOC3LwvYFm!=JMNpn!ew7<`4Wa|Ah7
z@LF~bd?O2mPpTY0+)t!XV5W3<uE|!kTW3Chq}`GW0NKn3J6uO4?~j|AcdC8G4{2@9
z<%Q+}_y3FR#F<$~wJVP8YiTaZH4Hd^*3zRh@tJK!Lvd=ezG>j=@4mN>&TPm(v7#z7
zwOLa!P<;6?L=;=gRKe0b;L=>m{1&IEO*ol(t`G<7&tvPG!vau#z0d61J|Zk=kIwYh
ze;cfN380XLy#WSFH{SpM@CTgF0{H((i&?8y$W9n)hk=uVwW_WEIiT}D8YulA^0z=e
TV+Za?00000NkvXXu0mjfRGhFQ
index 0e6074cb0d6cf3c59c8b80f6b6b0263d46518329..510bb8969411bec0fb11ae31e765507f8debb8fa
GIT binary patch
literal 4666
zc$@(`62<L_P)<h;3K|Lk000e1NJLTq004df000sQ1^@s6ofT@S000sJNkl<Zc-rk*
z2~?C<nq^wY>FIHfiHV6TC~L7p?K@RPtwK=+6a_^U`@VySf=U?>x1cC)sJK80I3g}6
zivo&9B8uXIXcRHv*gYpnr%{thCqUvi@BIg=iKwwNea@UYC-0nl>ec=3z1H*l-@jq;
z+xTsm#{ydy$wHDxrM(-ypX9+B#;|jx^&zf&KB~P<#yo4MX_j`b2{ulYc6&F*GY5AD
z;7|M=^SJ)DzlS#8nkTTbtMaoZ{Yhi%_#(j8@q5K0hg)n*+co6**0bI=XA#X>;=s49
zbX7R?d-#!tF<j*iefB)ta$I}c92bs*gd%aO<OR6(i*z2t7(9QsKE#zfquSf%%(CT4
zJ|Iae=eP#+&-Dly#+c*c--o#JSvI`4&Y9sRm%Kv@tbCUr-9J;5G>q{sFRJeyT0r>>
zH`y=e%(ro#YvW95A+x=KC-VoHS`R)!kr-$m3OuPAJXzj=HCX$G1INSOmHr6lutYwi
zLPfw0u~OTHKk;|W<2u&8>Gz<f{z0_Rt}3473LksY-~f#UhZt<AptGTj%7A=VGKAPU
zeal*4qkCh+sn&CyyzN@J(XOD(r$ES7CWM!BAbc;InES4x05{4Num)>im*d2?pUd=h
zY0+ddA$6+|@@wR<{**7QtM?`5DJ4P(%wPc4Anj{&-nZe-o$ch?V#!JcTj_dmRPO_4
z&0&NZa8#9ptz;covQhwRu=ceLca_e4m!)rcFJKMKN;nK3F24vLuD*$I1I;hMtoUkp
z&%Y3`25Vp4EIU^#Co<=WV6g_&`Zx%VNrTY%EHETyW8gXFh#J;lE%GdUIS1`#PZuih
zJC4|IR2>qv<CBg~G5}a2%*CJhJLYj6>#+V+zlSp4`k#HQ9opBrQ{fbw2bcIlXyyyQ
zs`gctRUtI;1%E!z6F?P%4e3s9z_YZCdR2}!-P(#0;P^ycK!eyrJV-k&ge9%su(Vx_
zf#;YbYFLA{$TMkOu3QHzNf`M_=1y-YX;Z_#n_4(@Uk8W#Lox6ib3_emuoih1PTu8S
zR`WddPwW+&z)g1oJfkiECAJf&@z*i%9CJhsYp@o1Cgr^2uCSUZNqh1^avjWB`vB%{
z8-jVee}H-AKVjfG=7<{BU@h`2e0hgXL5=K|szOn7(?J)P3Bl3CCxj*CU`*h$2#r)7
z3eFU6H}+0w`tMOQ2l+Dpk&K*G5diQW!tW;jTlhQXaUJWh9{XNin0TRm;YLp?e1e*L
zS0sj;0&l3~3T~H%MR{*EM2bxuubvx-yDjvFdNvPI9o<GambUgkYdXz(3dP^CJ9rZV
z(oYE?t4RcD^#aIj62dan^qlkFcusIx%_2gBwG@A+ZtR_KYM&y}le<?`%3$A(AUJp@
z7|OfRXHPI3end1L&k3#q)vyL@B?fXg_WrHu{3-Lvq1}#tyMc@w9@7Dyk?lZ6pR|N-
zpe9_$bIjoyp>b60f%#;8H};yF?k1b^zBr|OPWD+?Q2J+Bu;UrbFZ~LAJ_pP49}z~0
zIl=9GPH5(2x4`?7)NbrG{|BK{w@#qYj5T^G1coQ}tu5ZB35rN+)yFS^Py}s6Qp1{$
zOSPJaq`~n6L7)f(<P90mLH7jdXeUFEA$A=A{K4W41J|(*>#=WQ4K;9Pwu|TY=TOr>
z^OnE^u@tVMCYLg~x6(yYDgtdAliSlR6ce>OA_-J6IiPWHshODLB(m43j8w>M6hTg_
z7~(60eOr#_YvRkLt@t3wLVUtrSwqRORoVoTa4@G$OlYwOdClu$EOybQmx|!PEiF``
zoxQ0ku<uaII?cut+SZCYAw<(R91CtRon5Qld?s+P>Vb~XrXdgVnsa75`RMEwAETyT
zLXGYMilMG=X>pT=8D7&$iTf1o_6}f&*EB5I*r=t19Ur76TqCsh@{a*|%{eof!MZs~
zHDI;lFJQIjuV7ttvoEFMipH_9v(;+XGqBqE6r2k?8j=oP(OR#)J-Bf1_k?zKVhtd#
zImd#^6*mSL5+Euq4-AP*L8Xgs0)XEK=wpj?F&Pky5M+p3fjL!3Ogla}uoioe_p~{O
zC%u9$1JAEq>;BN<Ee6(MJ@!rH{p_71%4sa<MNRJ$O9@;@J9{gg{V;;c7KBq+qHPS$
zqi)2F*E_vLu)>Y}9pB2%eACDe^K6Va@nPj98RVQ5Lqv%;v98DsilU5@BFH!{f~fVr
z#JVE32-}yPl@MC&L0<E^)Jd$yO)V;@9n?d`-4Iw+p(1i}%QQuMx`LqWss?g*X^EVC
zld9cxFNDxyk1CO6&avSnG~!b@Bl!-{;yQt*-Am+fL$?)?BhLedKwnDaP_*UkwD_xp
z7JIBY3Fe%6s@z7aqB~%7@F!SQ_6$h54MdJ-&XJ-;TmJ-$wmbn^&S4_QA-B1G(e7^u
zE%wY)EjQ;_@a5_O-0;|}e27fV1s`n`a3p@c5_RY(-re{bFIMS>5qDP^91W4E=~$~r
z9==TdU_6H{R(>m0g`5F^e|nq7V;$CG-$Xvbjk4t=n}>I^xv@9V?%u`Z4#aT;qBxe9
zY!`$5$6F$?xqc5FBs-}L@UeGs9MADtLLbO(5QFhkIpnoTAbdLq<XPn2;C0N=rA=bM
zwV)!#Fyih;?&Lt;IVsj6-W!nDysqd%;lTb|!BF?dFsSO&!RjN6A*z7an^P_wJ%D!m
zezd!n>=q9r?ruSy4^;Pu654&p6ICEI=Qv1=15~uLnQ8ZcmedU{ft6q*%I|el?ii)U
zT?T4g2atTX4I}QZOHdWilWq`NO6(<YkmQ?ltRl7z*zWiW94Z0q_kIft^UlM(ux-7T
z87D?<cYY1F+rI?Mw7Ox$-CeliBG{LIhqZ|R0<0oR%{dlgWpF>y%*=d<NXaF3cwj^_
zI>l#Wj({$H3BiTLWMU2Gh=asi8T@EGhbQ+3v0t#s;_nz@KW!y`f|$sqQJAJyt`|HM
zOU>v(P2SJod>Kn+1;^9ahDru!s26eLb=>?)Ivc`hZ0>kYz)E(1UaJI*pU7c(vjozQ
z2qCe;3$jjlgYlxAK<04~!DSp3Vhy3qYmq>}3buJ&DVxRphwg`>U2K5L-VoS+DG-X!
zs9<-O2969E2$WsX5ZsOq4b~7^(`PzJ*(5gSIQeYorzc$pW@<0c60f2ieil6RCxH@k
z0daQ-P@>Nh9673$&=A_BYk<7w9P7k={iHol!SUcQkjlOWyW$66Q*;CDw>}2P13wV3
z-!cFMxA`HVA+&pjz&c@{ImbfgA6g%Yni-Xv_ab}c+Pu)%jOw7s<X&xb`qPluOu#_%
zp`gg5+o)#B%quh^EnpAwo*d8dTCDktP!ZVj_cUH04`{@`iCh+oSJJ{2K)*z0#%HLp
zwQSyxS)TNR*<|{`IyP?<apw9%gbD^5GJVw!<2jmKuln3Z3FI|NUli8H<R$O$txhNt
z_oh?`pJvnu0Rzp45_XAiqnhcXBT>e@W+`9~@|xF`yk1d%;C3*e>-mfFbD4Q-YIM~_
zbpgG_XZ)X*UI+vXG#@HD>VF&6OnckXj1{Q)*n_<09ExgfJw5RXFcPo62+2E>Cx|jt
z(+oAel<@kel*luHf#ySqyNzn5pk>WQMp74G5AvFGToQKHJMa1eoXfs^;a}FB$NZ?d
z+HG}vujAV5Pf5jh0Rzp4+*Y5zjcO+4&g(|!vabMpkk_1J5f+zb2#(Ew@Ra4C(1cY1
zzz1WGU^WQ$W3a&-t|>GTN3j-rkXJvRBUOjAcqszELoa)#zfIF^U1-zLo&7VZD){U~
zex;8}dz{T98v1Aq__Tk5>ors$@GdOy60fc23Z5a(T)*org&lPE7mxcMny>K*1v*38
zArUM)DS?mz-Y>38w}yKZYq1A;&FfmWDblc|Edcgj(?aGp`7h>V?NA)WTI@kybB;2)
z*g%eG1bW;haQENxi#hJ<(xX_5J;-a$QRM70IB&QKF53pcF}3m+a~#vEj$$qLAg?*c
zV(979>8jA!4%|#%bPacB3X4e|%&9Lo3USjsSfWy8NDN@Dzdr6f0Q}o{-4K%;flmE^
z9?^_%(|Dv?CiD#gLv(V)ME+cD-OSx|_J7^=mcZu{83u88f0QTue7!nIxlXC}KgJh6
zxsU5(jqmUhL7_;xb7IcZ=R?yY*NZxq9hX3OF$Y*0mtuD*Y0|n7H;t`zDUH~~1+0x+
zFaFuOo_#Ykec2vm2R@zW9+ZJBf>O*@xlYPK+%$O<rF2E59LhR1uza`Q&vL#V`er&^
zTh>93`vhDA_JJimvUr}G|D+tmO|zm$m%0Y-2YT#9U<8-_Jm=ZB(>=2Pqr-h`ACQ(F
zhk5dp;@Mo?q#VReo3BVMCFRtE`<6Z+FFkC|F^`&~C)^DQ*^eU7wO$?=1|DotAKH<|
zMUI}n2uiez3q0B01GpBNfUoyS_ZrT$ktSx~P(^^D1Kq3*+qzJhZ{F=xDSDI}k^Ac}
zVc*L)eWhr#w&K&hSOx<UIXpn0r#XVZ7I@IkukoZ`Y~%`l=tJD+sCGvrg$gG3i{^a?
zZC?I&>RJ!EFEPm;<(`m2Xdw$YTGu{jFMFc{%gz@;=^}6_;A&k5a4oaS8{$j7@16bh
z6zS!hhKn`so0>I`c3%mC%pGD-L{a*vQfH&PfaHsyq{*BM7DrPDaIK`(AB<Ig_bzlb
zOv>4R<f1z(y5SKc{t`H=wgYN#-yEmK#t$95eG!y%oP7$c7%>CRe%pZ>*$gyY<-NM*
zu1PujPG5GXuD|?<T>1b=X(m{pNbQ?VR~tVdD|``@vl;#c3l^shkWx+HvEdq!^G@A6
z+J19Vj>Wa^n^QFr$%APt)<azOYS2WcfJChazB~Z<ia?P1>%l)P5wtPsBl@_E>dvli
zr<Y&O;Bo9!lZ!+Z`aP8^$sKzm_|C+-mA(5+J6C!UQ{?j_%DjK<RHMsl?)d-xfJoYa
zcm1GLj(0YGq(jZ;6SyH16PJP>RIlUkpI0r*Rle%?bl>Tknouel+|Z$f)lCXWD)R#E
zN+u}Nsi4fDf_4=X;<oW2b&qHyxkOogt@qPcuItvl>r;)@%E8+I41)tbAy9bC7m_!N
zAUvN3;YJ=Lmx#c4crg^6^c%@Ppsl|3p!1bEo!38`N)0_U$j^QV?35ee8CnZYKAXT^
zY$V|1yBR!!tAJuSHX@8XP<`?0gIDHUzIA^pc}4vo$Mg&sy9dEN|16La_JCd3284}3
zO56jkD^7#wN9RVoRvxLoaI1fE4jwKvzMtBV2(ej4h)7%hI3_K(A|xig4c*E2qJyAE
z8=ZPCCUyD7!*!?l#5IKonLL=n#Z+_;FzT<1NkW<DTxoo8rt&^>^kg@pw}V||j(C(O
z_5Vo~5_Pom>UI2MrdYgY6w}x}J!6k-cTj`z96#3GKnFlK!UdiXD!fG38#iqc1Hiw$
zDud?Z<QKD<2l=PukaI}(c<J7NisUV_w)hfJZ^9OFPhyGe+>+AZjVIboZ(NsGkcZz2
zlLGd3qic6-(Blnth6<x8plxNPvUioquV>Z4fOCZvksF&kYu=c%fE?oIp{)dV@>O8R
zoqa4xtgYaLSGLhY4))SRD|*<51Lu4aD>jzbcD^}B5bo!ma|~G99{_9P<;RkurV94T
zx;EPKx?Xy2T@Nd-_MFe^BOA+`uD?FV)|onkE>Lu7!V_x?KQ7e|506+Q;jFRu>sAxq
zwZDrn)#43<&X@1=)5U=-AZ!HvVW&PgGHI(KK;MiW884$JfYZ9@<V|J!O%ee3@O6vA
zL%zs?xtUA{e7Zlz_r6!9)|4C+D^67j#GNLgw0*bC=Rj@NQau1HKzQX}`kc7-GlY82
zu9!9Q+LD@F{mAI>uUeO<$Z>`;j?uNGR9(CGl<`;R%yE>>u;nIpp%*r_>FZAGe;6M9
zbve|<Gi?3RySQ0<Ycuwo)&DT^t8&cm&n?HA@vj!YayYm%DLk3_z9Au_^jLip8vy1Y
zyf^kE=8t`!Ni^yWgSo)wcRG^m`69mXbZvG{C|=B%Z}wQuJiJizZ~X_X>;HAm|MkGH
w2oV;JHGAs+ChNbSJ;w{1LoDpK@ed#W1JZ=mX}BT|wg3PC07*qoM6N<$f^ysor2qf`
index cda344c47e6f3abcd747e3998165fa463d698760..cb9a93fb9d5cdad09f5c9a08ffda5589eb8e68cc
GIT binary patch
literal 3023
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
R&4d5|002ovPDHLkV1gzu&ZqzY
index 309da3898fcd4785c8d54e4071937ce6445500a5..9bed33198197a28415d57e73dfae52568da976d1
GIT binary patch
literal 4862
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
index 295fc40c0fc1c7867b221192d9b844579cc79f1d..b4d1bf61eeeaa4b642eaa2f4c8280b40b77594aa
GIT binary patch
literal 1259
zc$@+21Qh#;P)<h;3K|Lk000e1NJLTq004df000sQ1^@s6ofT@S000ECNkl<ZcmeI&
zZD^Hc9LMqNy3f7&G&2W^9+&R8%9>&>rI{J1rDBpA1}cWLiIeP2se#J}T2DrihMA^j
zGZeMiC>ur0MNxY?Q<>15bBoPrxjepT)*yEVJAGfAdtBVyXJ@DLe-Y#tK3sd#uXAy6
zpaZG@XSdVJqr&a4Ji?KW*~kE?c2weHR3Toecor*>gAuridYnQr!id|NnyN=RHefEs
zq8nFGhP}9fxb529CUGy7nHdn-Ie6-*$c}HkKj9ti|0trI@~#$*;W&aP&|hC;9e#&b
z(@=_u=)rk}Fd8$Ef>tcY#eN=qD90hJMy$F}fRp_^xX8VDaFHDzTx5p_PkhJy@H~13
zM-|3nApMG2Xop!2Dv^R+*o~WT8i7qHL=R@8-s90zILa{xP8}!)seFuqQ$C87tGBka
ziQFrY84%eyaPp|gjy>L=)Q%p<!>_qoWbt=3a*;?u%t9|n4aQ~ou^1JI)#LaI*Kj{>
zp|8A}s#iI7!0a5JgT?{OfKv~qpc&CeZxy*$Adn@pv;Rb~$j+b%{-k$opH`$+xkeh1
zk3uX3sZ-dCW5@!jTs(~ukXnySY(@q8s{)017whr9ing}4I$deKMR^y7jxtNZPCTQc
zSz6#;ayumSd937jY(_{ehuLKWQEd!Wq6W>zkaAsY1^&Q345WS7juqy^^P-D6hQM7K
z?tq0fxLbx)grT&SxtFE2$PS6@_yq3deB-lVwj2$(7f!pe5!o=C1gEJui!cUK7~f$&
z%%;FA8>D;~40ppY5l!I1WbWmY*&&%7Tj2B9jF9SqyU8$1^%zmEM;?w466rdIyMAMi
zRNkdwG;9omS0juE6S<eq(h@r)^?8!tu^A!t6Q(1Ab(n#NFae`LDug!F;SxRssRlUR
zKn4<NjQe-E*7~~gZWI=|AJ|pjKWk~3dr9q($c}9#zhg5(>NwUyV=mSpRvMqd={TIK
zFdu2?LcCHj2j9E?1?+g%iJ#%aUr2}9Z}>$;v#f~7z4*q9?2yQgt&`u;51xo9QVSc4
zzA*m7U=Ow;46`BFgAE{c2Fu{|B)-H>yoPwagtxH-Wh&bGV9g+o7Tg81W)vU=hY*0-
zo7jfF-g~)4;$G^WiT8=@ynf`c$j*dpe-b;+H=ZaD)yT$+ScVg5fW}m;HXh?V@?chm
zv)CRzYZ0pjcmw4qLtlq;AMP#))^6d?PhpmU9k4Lg<J<m@a^=$!_hQGA*&&e~JIT*u
zKK!4s;S|6&xa&54hTVd@m1xIo)Z$Kb!YLh_uoaiEN_liBcV@|ky4t6rdrm{~7~FMY
z2{_5f(lYn*Sz2U=M0RW|xgGQ2ml{6@nox!;j6*Lv@B>cc8e)|R8zFp)d1yi_Mj;0l
zitz%v;F-neQSqxpK3bGVJ}q)DcC^S2iR{=(-b>Fbji}uEqLKXl4KCmqYVdD6hywJW
z6pfgMbc9fkQnVmu8|#8Ijn8orr;&}Z_#0Pn23*d&4|X<*+-uU^lSOv6?msB9^FWS2
z=^ee`^N5ma`h}wD9G{>BhtYwAd;VO|;wVQ52k;{VyPa-dxahz7KMGhJy^!v9^beFO
V5FiB!#`gdK002ovPDHLkV1n@;T}1!@
--- a/content/media/webrtc/MediaEngineWebRTC.cpp
+++ b/content/media/webrtc/MediaEngineWebRTC.cpp
@@ -269,17 +269,17 @@ MediaEngineWebRTC::EnumerateVideoDevices
       aVSources->AppendElement(vSource.get());
     } else {
       vSource = new MediaEngineWebRTCVideoSource(videoEngine, i, aMediaSource);
       mVideoSources.Put(uuid, vSource); // Hashtable takes ownership.
       aVSources->AppendElement(vSource);
     }
   }
 
-  if (mHasTabVideoSource)
+  if (mHasTabVideoSource || MediaSourceType::Browser == aMediaSource)
     aVSources->AppendElement(new MediaEngineTabVideoSource());
 
   return;
 #endif
 }
 
 void
 MediaEngineWebRTC::EnumerateAudioDevices(MediaSourceType aMediaSource,
--- a/mobile/android/base/BrowserApp.java
+++ b/mobile/android/base/BrowserApp.java
@@ -262,19 +262,16 @@ public class BrowserApp extends GeckoApp
                 throw new IllegalArgumentException("onTabChanged:" + msg + " must specify a tab.");
             }
             return;
         }
 
         Log.d(LOGTAG, "BrowserApp.onTabChanged: " + tab.getId() + ": " + msg);
         switch(msg) {
             case LOCATION_CHANGE:
-                if (Tabs.getInstance().isSelectedTab(tab)) {
-                    maybeCancelFaviconLoad(tab);
-                }
                 // fall through
             case SELECTED:
                 if (Tabs.getInstance().isSelectedTab(tab)) {
                     updateHomePagerForTab(tab);
                 }
                 break;
             case START:
                 if (Tabs.getInstance().isSelectedTab(tab)) {
@@ -288,26 +285,17 @@ public class BrowserApp extends GeckoApp
             case LOAD_ERROR:
             case STOP:
             case MENU_UPDATED:
                 if (Tabs.getInstance().isSelectedTab(tab)) {
                     invalidateOptionsMenu();
                 }
                 break;
             case PAGE_SHOW:
-                loadFavicon(tab);
-                break;
-            case LINK_FAVICON:
-                // If tab is not loading and the favicon is updated, we
-                // want to load the image straight away. If tab is still
-                // loading, we only load the favicon once the page's content
-                // is fully loaded.
-                if (tab.getState() != Tab.STATE_LOADING) {
-                    loadFavicon(tab);
-                }
+                tab.loadFavicon();
                 break;
             case BOOKMARK_ADDED:
                 showBookmarkAddedToast();
                 break;
             case BOOKMARK_REMOVED:
                 showBookmarkRemovedToast();
                 break;
         }
@@ -1810,51 +1798,16 @@ public class BrowserApp extends GeckoApp
         mBrowserToolbar.cancelEdit();
     }
 
     private boolean isHomePagerVisible() {
         return (mHomePager != null && mHomePager.isVisible()
             && mHomePagerContainer != null && mHomePagerContainer.getVisibility() == View.VISIBLE);
     }
 
-    /* Favicon stuff. */
-    private static OnFaviconLoadedListener sFaviconLoadedListener = new OnFaviconLoadedListener() {
-        @Override
-        public void onFaviconLoaded(String pageUrl, String faviconURL, Bitmap favicon) {
-            // If we failed to load a favicon, we use the default favicon instead.
-            Tabs.getInstance()
-                .updateFaviconForURL(pageUrl,
-                                     (favicon == null) ? Favicons.defaultFavicon : favicon);
-        }
-    };
-
-    private void loadFavicon(final Tab tab) {
-        maybeCancelFaviconLoad(tab);
-
-        final int tabFaviconSize = getResources().getDimensionPixelSize(R.dimen.browser_toolbar_favicon_size);
-
-        int flags = (tab.isPrivate() || tab.getErrorType() != Tab.ErrorType.NONE) ? 0 : LoadFaviconTask.FLAG_PERSIST;
-        int id = Favicons.getSizedFavicon(getContext(), tab.getURL(), tab.getFaviconURL(), tabFaviconSize, flags, sFaviconLoadedListener);
-
-        tab.setFaviconLoadId(id);
-    }
-
-    private void maybeCancelFaviconLoad(Tab tab) {
-        int faviconLoadId = tab.getFaviconLoadId();
-
-        if (Favicons.NOT_LOADING == faviconLoadId) {
-            return;
-        }
-
-        // Cancel load task and reset favicon load state if it wasn't already
-        // in NOT_LOADING state.
-        Favicons.cancelFaviconLoad(faviconLoadId);
-        tab.setFaviconLoadId(Favicons.NOT_LOADING);
-    }
-
     /**
      * Enters editing mode with the current tab's URL. There might be no
      * tabs loaded by the time the user enters editing mode e.g. just after
      * the app starts. In this case, we simply fallback to an empty URL.
      */
     private void enterEditingMode() {
         String url = "";
 
--- a/mobile/android/base/GeckoAppShell.java
+++ b/mobile/android/base/GeckoAppShell.java
@@ -29,18 +29,18 @@ import java.util.Set;
 import java.util.StringTokenizer;
 import java.util.TreeMap;
 import java.util.concurrent.ConcurrentHashMap;
 import java.util.concurrent.ConcurrentLinkedQueue;
 
 import org.json.JSONException;
 import org.json.JSONObject;
 import org.mozilla.gecko.AppConstants.Versions;
+import org.mozilla.gecko.favicons.Favicons;
 import org.mozilla.gecko.favicons.OnFaviconLoadedListener;
-import org.mozilla.gecko.favicons.decoders.FaviconDecoder;
 import org.mozilla.gecko.gfx.BitmapUtils;
 import org.mozilla.gecko.gfx.LayerView;
 import org.mozilla.gecko.gfx.PanZoomController;
 import org.mozilla.gecko.mozglue.GeckoLoader;
 import org.mozilla.gecko.mozglue.JNITarget;
 import org.mozilla.gecko.mozglue.RobocopTarget;
 import org.mozilla.gecko.mozglue.generatorannotations.OptionalGeneratedParameter;
 import org.mozilla.gecko.mozglue.generatorannotations.WrapElementForJNI;
@@ -797,31 +797,34 @@ public class GeckoAppShell
     static void scheduleRestart() {
         restartScheduled = true;
     }
 
     // Creates a homescreen shortcut for a web page.
     // This is the entry point from nsIShellService.
     @WrapElementForJNI
     static void createShortcut(final String aTitle, final String aURI, final String aIconData) {
-        ThreadUtils.postToBackgroundThread(new Runnable() {
-            @Override
-            public void run() {
-                // TODO: use the cache. Bug 961600.
-                Bitmap icon = FaviconDecoder.getMostSuitableBitmapFromDataURI(aIconData, getPreferredIconSize());
-                GeckoAppShell.doCreateShortcut(aTitle, aURI, icon);
+        // We have the favicon data (base64) decoded on the background thread, callback here, then
+        // call the other createShortcut method with the decoded favicon.
+        // This is slightly contrived, but makes the images available to the favicon cache.
+        Favicons.getSizedFavicon(getContext(), aURI, aIconData, Integer.MAX_VALUE, 0,
+            new OnFaviconLoadedListener() {
+                @Override
+                public void onFaviconLoaded(String url, String faviconURL, Bitmap favicon) {
+                    createShortcut(aTitle, url, favicon);
+                }
             }
-        });
+        );
     }
 
     public static void createShortcut(final String aTitle, final String aURI, final Bitmap aBitmap) {
         ThreadUtils.postToBackgroundThread(new Runnable() {
             @Override
             public void run() {
-                GeckoAppShell.doCreateShortcut(aTitle, aURI, aBitmap);
+                doCreateShortcut(aTitle, aURI, aBitmap);
             }
         });
     }
 
     /**
      * Call this method only on the background thread.
      */
     private static void doCreateShortcut(final String aTitle, final String aURI, final Bitmap aIcon) {
--- a/mobile/android/base/ReadingListHelper.java
+++ b/mobile/android/base/ReadingListHelper.java
@@ -33,87 +33,91 @@ public final class ReadingListHelper imp
 
     protected final Context context;
 
 
     public ReadingListHelper(Context context) {
         this.context = context;
 
         EventDispatcher.getInstance().registerGeckoThreadListener((GeckoEventListener) this,
-            "Reader:Added", "Reader:FaviconRequest");
+            "Reader:AddToList", "Reader:FaviconRequest");
         EventDispatcher.getInstance().registerGeckoThreadListener((NativeEventListener) this,
-            "Reader:ListStatusRequest", "Reader:Removed");
+            "Reader:ListStatusRequest", "Reader:RemoveFromList");
     }
 
     public void uninit() {
         EventDispatcher.getInstance().unregisterGeckoThreadListener((GeckoEventListener) this,
-            "Reader:Added", "Reader:FaviconRequest");
+            "Reader:AddToList", "Reader:FaviconRequest");
         EventDispatcher.getInstance().unregisterGeckoThreadListener((NativeEventListener) this,
-            "Reader:ListStatusRequest", "Reader:Removed");
+            "Reader:ListStatusRequest", "Reader:RemoveFromList");
     }
 
     @Override
     public void handleMessage(String event, JSONObject message) {
         switch(event) {
-            case "Reader:Added": {
-                handleReadingListAdded(message);
+            case "Reader:AddToList": {
+                handleAddToList(message);
                 break;
             }
 
             case "Reader:FaviconRequest": {
                 handleReaderModeFaviconRequest(message.optString("url"));
                 break;
             }
         }
     }
 
     @Override
     public void handleMessage(final String event, final NativeJSObject message,
                               final EventCallback callback) {
         switch(event) {
-            case "Reader:Removed": {
-                handleReadingListRemoved(message.getString("url"));
+            case "Reader:RemoveFromList": {
+                handleRemoveFromList(message.getString("url"));
                 break;
             }
 
             case "Reader:ListStatusRequest": {
                 handleReadingListStatusRequest(message.getString("url"));
                 break;
             }
         }
     }
 
     /**
      * A page can be added to the ReadingList by long-tap of the page-action
      * icon, or by tapping the readinglist-add icon in the ReaderMode banner.
      */
-    private void handleReadingListAdded(JSONObject message) {
+    private void handleAddToList(JSONObject message) {
         final int result = message.optInt("result", READER_ADD_FAILED);
         if (result != READER_ADD_SUCCESS) {
             if (result == READER_ADD_FAILED) {
                 showToast(R.string.reading_list_failed, Toast.LENGTH_SHORT);
             } else if (result == READER_ADD_DUPLICATE) {
                 showToast(R.string.reading_list_duplicate, Toast.LENGTH_SHORT);
             }
             return;
         }
 
         final ContentValues values = new ContentValues();
-        values.put(ReadingListItems.URL, message.optString("url"));
+        final String url = message.optString("url");
+
+        values.put(ReadingListItems.URL, url);
         values.put(ReadingListItems.TITLE, message.optString("title"));
         values.put(ReadingListItems.LENGTH, message.optInt("length"));
         values.put(ReadingListItems.EXCERPT, message.optString("excerpt"));
 
         ThreadUtils.postToBackgroundThread(new Runnable() {
             @Override
             public void run() {
                 BrowserDB.addReadingListItem(context.getContentResolver(), values);
                 showToast(R.string.reading_list_added, Toast.LENGTH_SHORT);
             }
         });
+
+        GeckoAppShell.sendEventToGecko(GeckoEvent.createBroadcastEvent("Reader:Added", url));
     }
 
     /**
      * Gecko (ReaderMode) requests the page favicon to append to the
      * document head for display.
      */
     private void handleReaderModeFaviconRequest(final String url) {
         (new UIAsyncTask.WithoutParams<String>(ThreadUtils.getBackgroundHandler()) {
@@ -140,21 +144,22 @@ public final class ReadingListHelper imp
             }
         }).execute();
     }
 
     /**
      * A page can be removed from the ReadingList by panel context menu,
      * or by tapping the readinglist-remove icon in the ReaderMode banner.
      */
-    private void handleReadingListRemoved(final String url) {
+    private void handleRemoveFromList(final String url) {
         ThreadUtils.postToBackgroundThread(new Runnable() {
             @Override
             public void run() {
                 BrowserDB.removeReadingListItemWithURL(context.getContentResolver(), url);
+                GeckoAppShell.sendEventToGecko(GeckoEvent.createBroadcastEvent("Reader:Removed", url));
                 showToast(R.string.page_removed, Toast.LENGTH_SHORT);
             }
         });
     }
 
     /**
      * Gecko (ReaderMode) requests the page ReadingList status, to display
      * the proper ReaderMode banner icon (readinglist-add / readinglist-remove).
--- a/mobile/android/base/Tab.java
+++ b/mobile/android/base/Tab.java
@@ -4,24 +4,29 @@
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 package org.mozilla.gecko;
 
 import java.util.ArrayList;
 import java.util.Collection;
 import java.util.HashMap;
 import java.util.Map;
+import java.util.TreeSet;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 
 import org.json.JSONException;
 import org.json.JSONObject;
 import org.mozilla.gecko.db.BrowserContract.Bookmarks;
 import org.mozilla.gecko.db.BrowserDB;
 import org.mozilla.gecko.db.URLMetadata;
+import org.mozilla.gecko.favicons.Favicons;
+import org.mozilla.gecko.favicons.LoadFaviconTask;
+import org.mozilla.gecko.favicons.OnFaviconLoadedListener;
+import org.mozilla.gecko.favicons.RemoteFavicon;
 import org.mozilla.gecko.gfx.Layer;
 import org.mozilla.gecko.util.ThreadUtils;
 
 import android.content.ContentResolver;
 import android.content.Context;
 import android.graphics.Bitmap;
 import android.graphics.Color;
 import android.graphics.drawable.BitmapDrawable;
@@ -37,17 +42,19 @@ public class Tab {
     private final int mId;
     private long mLastUsed;
     private String mUrl;
     private String mBaseDomain;
     private String mUserRequested; // The original url requested. May be typed by the user or sent by an extneral app for example.
     private String mTitle;
     private Bitmap mFavicon;
     private String mFaviconUrl;
-    private int mFaviconSize;
+
+    // The set of all available Favicons for this tab, sorted by attractiveness.
+    final TreeSet<RemoteFavicon> mAvailableFavicons = new TreeSet<>();
     private boolean mHasFeeds;
     private boolean mHasOpenSearch;
     private final SiteIdentity mSiteIdentity;
     private boolean mReaderEnabled;
     private BitmapDrawable mThumbnail;
     private int mHistoryIndex;
     private int mHistorySize;
     private final int mParentId;
@@ -360,56 +367,91 @@ public class Tab {
     public void setHasTouchListeners(boolean aValue) {
         mHasTouchListeners = aValue;
     }
 
     public boolean getHasTouchListeners() {
         return mHasTouchListeners;
     }
 
-    public void setFaviconLoadId(int faviconLoadId) {
-        mFaviconLoadId = faviconLoadId;
-    }
-
-    public int getFaviconLoadId() {
-        return mFaviconLoadId;
-    }
+    public synchronized void addFavicon(String faviconURL, int faviconSize, String mimeType) {
+        RemoteFavicon favicon = new RemoteFavicon(faviconURL, faviconSize, mimeType);
 
-    /**
-     * Returns true if the favicon changed.
-     */
-    public boolean updateFavicon(Bitmap favicon) {
-        if (mFavicon == favicon) {
-            return false;
-        }
-        mFavicon = favicon;
-        return true;
-    }
-
-    public synchronized void updateFaviconURL(String faviconUrl, int size) {
-        // If we already have an "any" sized icon, don't update the icon.
-        if (mFaviconSize == -1)
-            return;
-
-        // Only update the favicon if it's bigger than the current favicon.
-        // We use -1 to represent icons with sizes="any".
-        if (size == -1 || size >= mFaviconSize) {
-            mFaviconUrl = faviconUrl;
-            mFaviconSize = size;
+        // Add this Favicon to the set of available Favicons.
+        synchronized (mAvailableFavicons) {
+            mAvailableFavicons.add(favicon);
         }
     }
 
+    public void loadFavicon() {
+        // If we have a Favicon explicitly set, load it.
+        if (!mAvailableFavicons.isEmpty()) {
+            RemoteFavicon newFavicon = mAvailableFavicons.first();
+
+            // If the new Favicon is different, cancel the old load. Else, abort.
+            if (newFavicon.faviconUrl.equals(mFaviconUrl)) {
+                return;
+            }
+
+            Favicons.cancelFaviconLoad(mFaviconLoadId);
+            mFaviconUrl = newFavicon.faviconUrl;
+        } else {
+            // Otherwise, fallback to the default Favicon.
+            mFaviconUrl = null;
+        }
+
+        int flags = (isPrivate() || mErrorType != ErrorType.NONE) ? 0 : LoadFaviconTask.FLAG_PERSIST;
+        mFaviconLoadId = Favicons.getSizedFavicon(mAppContext, mUrl, mFaviconUrl, Favicons.browserToolbarFaviconSize, flags,
+                new OnFaviconLoadedListener() {
+                    @Override
+                    public void onFaviconLoaded(String pageUrl, String faviconURL, Bitmap favicon) {
+                        // The tab might be pointing to another URL by the time the
+                        // favicon is finally loaded, in which case we simply ignore it.
+                        if (!pageUrl.equals(mUrl)) {
+                            return;
+                        }
+
+                        // That one failed. Try the next one.
+                        if (favicon == null) {
+                            // If what we just tried to load originated from the set of declared icons..
+                            if (!mAvailableFavicons.isEmpty()) {
+                                // Discard it.
+                                mAvailableFavicons.remove(mAvailableFavicons.first());
+
+                                // Load the next best, if we have one. If not, it'll fall back to the
+                                // default Favicon URL, before giving up.
+                                loadFavicon();
+
+                                return;
+                            }
+
+                            // Total failure: display the default favicon.
+                            favicon = Favicons.defaultFavicon;
+                        }
+
+                        mFavicon = favicon;
+                        mFaviconLoadId = Favicons.NOT_LOADING;
+                        Tabs.getInstance().notifyListeners(Tab.this, Tabs.TabEvents.FAVICON);
+                    }
+                }
+        );
+    }
+
     public synchronized void clearFavicon() {
+        // Cancel any ongoing favicon load (if we never finished downloading the old favicon before
+        // we changed page).
+        Favicons.cancelFaviconLoad(mFaviconLoadId);
+
         // Keep the favicon unchanged while entering reader mode
         if (mEnteringReaderMode)
             return;
 
         mFavicon = null;
         mFaviconUrl = null;
-        mFaviconSize = 0;
+        mAvailableFavicons.clear();
     }
 
     public void setHasFeeds(boolean hasFeeds) {
         mHasFeeds = hasFeeds;
     }
 
     public void setHasOpenSearch(boolean hasOpenSearch) {
         mHasOpenSearch = hasOpenSearch;
@@ -466,33 +508,16 @@ public class Tab {
                     return;
 
                 BrowserDB.removeBookmarksWithURL(getContentResolver(), url);
                 Tabs.getInstance().notifyListeners(Tab.this, Tabs.TabEvents.BOOKMARK_REMOVED);
             }
         });
     }
 
-    public void addToReadingList() {
-        if (!mReaderEnabled)
-            return;
-
-        JSONObject json = new JSONObject();
-        try {
-            json.put("tabID", String.valueOf(getId()));
-            json.put("url", getURL());
-        } catch (JSONException e) {
-            Log.e(LOGTAG, "JSON error - failing to add to reading list", e);
-            return;
-        }
-
-        GeckoEvent e = GeckoEvent.createBroadcastEvent("Reader:Add", json.toString());
-        GeckoAppShell.sendEventToGecko(e);
-    }
-
     public void toggleReaderMode() {
         if (AboutPages.isAboutReader(mUrl)) {
             Tabs.getInstance().loadUrl(ReaderModeUtils.getUrlFromAboutReader(mUrl));
         } else if (mReaderEnabled) {
             mEnteringReaderMode = true;
             Tabs.getInstance().loadUrl(ReaderModeUtils.getAboutReaderForUrl(mUrl, mId));
         }
     }
--- a/mobile/android/base/Tabs.java
+++ b/mobile/android/base/Tabs.java
@@ -6,16 +6,17 @@
 package org.mozilla.gecko;
 
 import java.util.HashMap;
 import java.util.Iterator;
 import java.util.List;
 import java.util.concurrent.CopyOnWriteArrayList;
 import java.util.concurrent.atomic.AtomicInteger;
 
+import android.graphics.Bitmap;
 import org.json.JSONException;
 import org.json.JSONObject;
 
 import org.mozilla.gecko.db.BrowserDB;
 import org.mozilla.gecko.favicons.Favicons;
 import org.mozilla.gecko.fxa.FirefoxAccounts;
 import org.mozilla.gecko.mozglue.JNITarget;
 import org.mozilla.gecko.mozglue.RobocopTarget;
@@ -24,17 +25,16 @@ import org.mozilla.gecko.util.GeckoEvent
 import org.mozilla.gecko.util.ThreadUtils;
 
 import android.accounts.Account;
 import android.accounts.AccountManager;
 import android.accounts.OnAccountsUpdateListener;
 import android.content.ContentResolver;
 import android.content.Context;
 import android.database.ContentObserver;
-import android.graphics.Bitmap;
 import android.graphics.Color;
 import android.net.Uri;
 import android.os.Handler;
 import android.util.Log;
 
 public class Tabs implements GeckoEventListener {
     private static final String LOGTAG = "GeckoTabs";
 
@@ -106,18 +106,17 @@ public class Tabs implements GeckoEventL
             "DOMTitleChanged",
             "Link:Favicon",
             "Link:Feed",
             "Link:OpenSearch",
             "DesktopMode:Changed",
             "Tab:ViewportMetadata",
             "Tab:StreamStart",
             "Tab:StreamStop",
-            "Reader:Click",
-            "Reader:LongClick");
+            "Reader:Toggle");
 
     }
 
     public synchronized void attachToContext(Context context) {
         final Context appContext = context.getApplicationContext();
         if (mAppContext == appContext) {
             return;
         }
@@ -501,18 +500,30 @@ public class Tabs implements GeckoEventL
                     tab.setBackgroundColor(Color.WHITE);
                 }
                 tab.setErrorType(message.optString("errorType"));
                 tab.setMetadata(message.optJSONObject("metadata"));
                 notifyListeners(tab, Tabs.TabEvents.LOADED);
             } else if (event.equals("DOMTitleChanged")) {
                 tab.updateTitle(message.getString("title"));
             } else if (event.equals("Link:Favicon")) {
-                tab.updateFaviconURL(message.getString("href"), message.getInt("size"));
-                notifyListeners(tab, TabEvents.LINK_FAVICON);
+                // Don't bother if the type isn't one we can decode.
+                if (!Favicons.canDecodeType(message.getString("mime"))) {
+                    return;
+                }
+
+                // Add the favicon to the set of available icons for this tab.
+                tab.addFavicon(message.getString("href"), message.getInt("size"), message.getString("mime"));
+
+                // Load the favicon. If the tab is still loading, we actually do the load once the
+                // page has loaded, in an attempt to prevent the favicon load from having a
+                // detrimental effect on page load time.
+                if (tab.getState() != Tab.STATE_LOADING) {
+                    tab.loadFavicon();
+                }
             } else if (event.equals("Link:Feed")) {
                 tab.setHasFeeds(true);
                 notifyListeners(tab, TabEvents.LINK_FEED);
             } else if (event.equals("Link:OpenSearch")) {
                 boolean visible = message.getBoolean("visible");
                 tab.setHasOpenSearch(visible);
             } else if (event.equals("DesktopMode:Changed")) {
                 tab.setDesktopMode(message.getBoolean("desktopMode"));
@@ -522,45 +533,25 @@ public class Tabs implements GeckoEventL
                 tab.setIsRTL(message.getBoolean("isRTL"));
                 notifyListeners(tab, TabEvents.VIEWPORT_CHANGE);
             } else if (event.equals("Tab:StreamStart")) {
                 tab.setRecording(true);
                 notifyListeners(tab, TabEvents.RECORDING_CHANGE);
             } else if (event.equals("Tab:StreamStop")) {
                 tab.setRecording(false);
                 notifyListeners(tab, TabEvents.RECORDING_CHANGE);
-            } else if (event.equals("Reader:Click")) {
+            } else if (event.equals("Reader:Toggle")) {
                 tab.toggleReaderMode();
-            } else if (event.equals("Reader:LongClick")) {
-                tab.addToReadingList();
             }
 
         } catch (Exception e) {
             Log.w(LOGTAG, "handleMessage threw for " + event, e);
         }
     }
 
-    /**
-     * Set the favicon for any tabs loaded with this page URL.
-     */
-    public void updateFaviconForURL(String pageURL, Bitmap favicon) {
-        // The tab might be pointing to another URL by the time the
-        // favicon is finally loaded, in which case we won't find the tab.
-        // See also: Bug 920331.
-        for (Tab tab : mOrder) {
-            String tabURL = tab.getURL();
-            if (pageURL.equals(tabURL)) {
-                tab.setFaviconLoadId(Favicons.NOT_LOADING);
-                if (tab.updateFavicon(favicon)) {
-                    notifyListeners(tab, TabEvents.FAVICON);
-                }
-            }
-        }
-    }
-
     public void refreshThumbnails() {
         final ThumbnailHelper helper = ThumbnailHelper.getInstance();
         ThreadUtils.postToBackgroundThread(new Runnable() {
             @Override
             public void run() {
                 for (final Tab tab : mOrder) {
                     helper.getAndProcessThumbnailFor(tab);
                 }
@@ -593,17 +584,16 @@ public class Tabs implements GeckoEventL
         TITLE,
         SELECTED,
         UNSELECTED,
         ADDED,
         RESTORED,
         LOCATION_CHANGE,
         MENU_UPDATED,
         PAGE_SHOW,
-        LINK_FAVICON,
         LINK_FEED,
         SECURITY_CHANGE,
         READER_ENABLED,
         DESKTOP_MODE_CHANGE,
         VIEWPORT_CHANGE,
         RECORDING_CHANGE,
         BOOKMARK_ADDED,
         BOOKMARK_REMOVED
@@ -837,42 +827,32 @@ public class Tabs implements GeckoEventL
 
         if (!delayLoad && !background) {
             selectTab(added.getId());
         }
 
         // TODO: surely we could just fetch *any* cached icon?
         if (AboutPages.isBuiltinIconPage(url)) {
             Log.d(LOGTAG, "Setting about: tab favicon inline.");
-            added.updateFavicon(getAboutPageFavicon(url));
+            added.addFavicon(url, Favicons.browserToolbarFaviconSize, "");
+            added.loadFavicon();
         }
 
         return added;
     }
 
     public Tab addTab() {
         return loadUrl(AboutPages.HOME, Tabs.LOADURL_NEW_TAB);
     }
 
     public Tab addPrivateTab() {
         return loadUrl(AboutPages.PRIVATEBROWSING, Tabs.LOADURL_NEW_TAB | Tabs.LOADURL_PRIVATE);
     }
 
     /**
-     * These favicons are only used for the URL bar, so
-     * we fetch with that size.
-     *
-     * This method completes on the calling thread.
-     */
-    private Bitmap getAboutPageFavicon(final String url) {
-        int faviconSize = Math.round(mAppContext.getResources().getDimension(R.dimen.browser_toolbar_favicon_size));
-        return Favicons.getSizedFaviconForPageFromCache(url, faviconSize);
-    }
-
-    /**
      * Open the url as a new tab, and mark the selected tab as its "parent".
      *
      * If the url is already open in a tab, the existing tab is selected.
      * Use this for tabs opened by the browser chrome, so users can press the
      * "Back" button to return to the previous tab.
      *
      * @param url URL of page to load
      */
--- a/mobile/android/base/favicons/Favicons.java
+++ b/mobile/android/base/favicons/Favicons.java
@@ -27,16 +27,17 @@ import android.text.TextUtils;
 import android.util.Log;
 import android.util.SparseArray;
 
 import java.io.File;
 import java.net.URI;
 import java.net.URISyntaxException;
 import java.util.Arrays;
 import java.util.Collections;
+import java.util.HashSet;
 import java.util.Iterator;
 import java.util.List;
 import java.util.concurrent.ExecutorService;
 import java.util.concurrent.Executors;
 import java.util.concurrent.atomic.AtomicBoolean;
 
 public class Favicons {
     private static final String LOGTAG = "GeckoFavicons";
@@ -60,28 +61,82 @@ public class Favicons {
     public static Bitmap defaultFavicon;
 
     // The density-adjusted default Favicon dimensions.
     public static int defaultFaviconSize;
 
     // The density-adjusted maximum Favicon dimensions.
     public static int largestFaviconSize;
 
+    // The density-adjusted desired size for a browser-toolbar favicon.
+    public static int browserToolbarFaviconSize;
+
     // Used to prevent multiple-initialisation.
     public static final AtomicBoolean isInitialized = new AtomicBoolean(false);
 
     // Executor for long-running Favicon Tasks.
     public static final ExecutorService longRunningExecutor = Executors.newSingleThreadExecutor();
 
     private static final SparseArray<LoadFaviconTask> loadTasks = new SparseArray<>();
 
     // Cache to hold mappings between page URLs and Favicon URLs. Used to avoid going to the DB when
     // doing so is not necessary.
     private static final NonEvictingLruCache<String, String> pageURLMappings = new NonEvictingLruCache<>(NUM_PAGE_URL_MAPPINGS_TO_STORE);
 
+    // Mime types of things we are capable of decoding.
+    private static final HashSet<String> sDecodableMimeTypes = new HashSet<>();
+
+    // Mime types of things we are both capable of decoding and are container formats (May contain
+    // multiple different sizes of image)
+    private static final HashSet<String> sContainerMimeTypes = new HashSet<>();
+    static {
+        // MIME types extracted from http://filext.com - ostensibly all in-use mime types for the
+        // corresponding formats.
+        // ICO
+        sContainerMimeTypes.add("image/vnd.microsoft.icon");
+        sContainerMimeTypes.add("image/ico");
+        sContainerMimeTypes.add("image/icon");
+        sContainerMimeTypes.add("image/x-icon");
+        sContainerMimeTypes.add("text/ico");
+        sContainerMimeTypes.add("application/ico");
+
+        // Add supported container types to the set of supported types.
+        sDecodableMimeTypes.addAll(sContainerMimeTypes);
+
+        // PNG
+        sDecodableMimeTypes.add("image/png");
+        sDecodableMimeTypes.add("application/png");
+        sDecodableMimeTypes.add("application/x-png");
+
+        // GIF
+        sDecodableMimeTypes.add("image/gif");
+
+        // JPEG
+        sDecodableMimeTypes.add("image/jpeg");
+        sDecodableMimeTypes.add("image/jpg");
+        sDecodableMimeTypes.add("image/pipeg");
+        sDecodableMimeTypes.add("image/vnd.swiftview-jpeg");
+        sDecodableMimeTypes.add("application/jpg");
+        sDecodableMimeTypes.add("application/x-jpg");
+
+        // BMP
+        sDecodableMimeTypes.add("application/bmp");
+        sDecodableMimeTypes.add("application/x-bmp");
+        sDecodableMimeTypes.add("application/x-win-bitmap");
+        sDecodableMimeTypes.add("image/bmp");
+        sDecodableMimeTypes.add("image/x-bmp");
+        sDecodableMimeTypes.add("image/x-bitmap");
+        sDecodableMimeTypes.add("image/x-xbitmap");
+        sDecodableMimeTypes.add("image/x-win-bitmap");
+        sDecodableMimeTypes.add("image/x-windows-bitmap");
+        sDecodableMimeTypes.add("image/x-ms-bitmap");
+        sDecodableMimeTypes.add("image/x-ms-bmp");
+        sDecodableMimeTypes.add("image/ms-bmp");
+    }
+
     public static String getFaviconURLForPageURLFromCache(String pageURL) {
         return pageURLMappings.get(pageURL);
     }
 
     /**
      * Insert the given pageUrl->faviconUrl mapping into the memory cache of such mappings.
      * Useful for short-circuiting local database access.
      */
@@ -244,31 +299,37 @@ public class Favicons {
      * Helper method to determine the URL of the Favicon image for a given page URL by querying the
      * history database. Should only be called from the background thread - does database access.
      *
      * @param pageURL The URL of a webpage with a Favicon.
      * @return The URL of the Favicon used by that webpage, according to either the History database
      *         or a somewhat educated guess.
      */
     public static String getFaviconURLForPageURL(Context context, String pageURL) {
+        // Query the URL cache.
+        String targetURL = getFaviconURLForPageURLFromCache(pageURL);
+        if (targetURL != null) {
+            return targetURL;
+        }
+
         // Attempt to determine the Favicon URL from the Tabs datastructure. Can dodge having to use
         // the database sometimes by doing this.
-        String targetURL;
         Tab theTab = Tabs.getInstance().getFirstTabForUrl(pageURL);
         if (theTab != null) {
             targetURL = theTab.getFaviconURL();
             if (targetURL != null) {
                 return targetURL;
             }
         }
 
         // Try to find the faviconURL in the history and/or bookmarks table.
         final ContentResolver resolver = context.getContentResolver();
         targetURL = BrowserDB.getFaviconURLFromPageURL(resolver, pageURL);
         if (targetURL != null) {
+            putFaviconURLForPageURLInCache(pageURL, targetURL);
             return targetURL;
         }
 
         // If we still can't find it, fall back to the default URL and hope for the best.
         return guessDefaultFaviconURL(pageURL);
     }
 
     /**
@@ -410,16 +471,19 @@ public class Favicons {
         // TODO: Remove this branch when old tablet is removed.
         final int defaultFaviconSizeDimenID =
                 isNewTabletEnabled ? R.dimen.new_tablet_tab_strip_favicon_size : R.dimen.favicon_bg;
         defaultFaviconSize = res.getDimensionPixelSize(defaultFaviconSizeDimenID);
 
         // Screen-density-adjusted upper limit on favicon size. Favicons larger than this are
         // downscaled to this size or discarded.
         largestFaviconSize = context.getResources().getDimensionPixelSize(R.dimen.favicon_largest_interesting_size);
+
+        browserToolbarFaviconSize = context.getResources().getDimensionPixelSize(R.dimen.browser_toolbar_favicon_size);
+
         faviconsCache = new FaviconCache(FAVICON_CACHE_SIZE_BYTES, largestFaviconSize);
 
         // Initialize page mappings for each of our special pages.
         for (String url : AboutPages.getDefaultIconPages()) {
             pageURLMappings.putWithoutEviction(url, BUILT_IN_FAVICON_URL);
         }
 
         // Load and cache the built-in favicon in each of its sizes.
@@ -477,16 +541,35 @@ public class Favicons {
                            "/favicon.ico", null,
                            null).toString();
         } catch (URISyntaxException e) {
             Log.e(LOGTAG, "URISyntaxException getting default favicon URL", e);
             return null;
         }
     }
 
+    /**
+     * Helper function to determine if we can decode a particular mime type.
+     * @param imgType Mime type to check for decodability.
+     * @return false if the given mime type is certainly not decodable, true if it might be.
+     */
+    public static boolean canDecodeType(String imgType) {
+        return "".equals(imgType) || sDecodableMimeTypes.contains(imgType);
+    }
+
+    /**
+     * Helper function to determine if the provided mime type is that of a format that can contain
+     * multiple image types. At time of writing, the only such type is ICO.
+     * @param mimeType Mime type to check.
+     * @return true if the given mime type is a container type, false otherwise.
+     */
+    public static boolean isContainerType(String mimeType) {
+        return sDecodableMimeTypes.contains(mimeType);
+    }
+
     public static void removeLoadTask(int taskId) {
         synchronized(loadTasks) {
             loadTasks.delete(taskId);
         }
     }
 
     /**
      * Method to wrap FaviconCache.isFailedFavicon for use by LoadFaviconTask.
--- a/mobile/android/base/favicons/LoadFaviconTask.java
+++ b/mobile/android/base/favicons/LoadFaviconTask.java
@@ -338,46 +338,24 @@ public class LoadFaviconTask {
         // Attempt to decode the favicon URL as a data URL. We don't bother storing such URIs in
         // the database: the cost of decoding them here probably doesn't exceed the cost of mucking
         // about with the DB.
         LoadFaviconResult uriBitmaps = FaviconDecoder.decodeDataURI(faviconURL);
         if (uriBitmaps != null) {
             return pushToCacheAndGetResult(uriBitmaps);
         }
 
-        String storedFaviconUrl;
-        boolean isUsingDefaultURL = false;
-
-        // Handle the case of malformed favicon URL.
-        // If favicon is empty, fall back to the stored one.
+        // Attempt to get a favicon URL from somewhere if we weren't given one...
         if (TextUtils.isEmpty(faviconURL)) {
-            // Try to get the favicon URL from the memory cache.
-            storedFaviconUrl = Favicons.getFaviconURLForPageURLFromCache(pageUrl);
+            faviconURL = Favicons.getFaviconURLForPageURL(context, pageUrl);
+        }
 
-            // If that failed, try to get the URL from the database.
-            if (storedFaviconUrl == null) {
-                storedFaviconUrl = Favicons.getFaviconURLForPageURL(context, pageUrl);
-                if (storedFaviconUrl != null) {
-                    // If that succeeded, cache the URL loaded from the database in memory.
-                    Favicons.putFaviconURLForPageURLInCache(pageUrl, storedFaviconUrl);
-                }
-            }
-
-            // If we found a faviconURL - use it.
-            if (storedFaviconUrl != null) {
-                faviconURL = storedFaviconUrl;
-            } else {
-                // If we don't have a stored one, fall back to the default.
-                faviconURL = Favicons.guessDefaultFaviconURL(pageUrl);
-
-                if (TextUtils.isEmpty(faviconURL)) {
-                    return null;
-                }
-                isUsingDefaultURL = true;
-            }
+        // We failed. Can't continue without a favicon URL!
+        if (TextUtils.isEmpty(faviconURL)) {
+            return null;
         }
 
         // Check if favicon has failed - if so, give up. We need this check because, sometimes, we
         // didn't know the real Favicon URL until we asked the database.
         if (Favicons.isFailedFavicon(faviconURL)) {
             return null;
         }
 
@@ -439,28 +417,23 @@ public class LoadFaviconTask {
         if (loadedBitmaps != null) {
             // Fetching bytes to store can fail. saveFaviconToDb will
             // do the right thing, but we still choose to cache the
             // downloaded icon in memory.
             saveFaviconToDb(loadedBitmaps.getBytesForDatabaseStorage());
             return pushToCacheAndGetResult(loadedBitmaps);
         }
 
-        if (isUsingDefaultURL) {
-            Favicons.putFaviconInFailedCache(faviconURL);
-            return null;
-        }
-
         if (isCancelled()) {
             return null;
         }
 
         // If we're not already trying the default URL, try it now.
         final String guessed = Favicons.guessDefaultFaviconURL(pageUrl);
-        if (guessed == null) {
+        if (guessed == null || guessed.equals(faviconURL)) {
             Favicons.putFaviconInFailedCache(faviconURL);
             return null;
         }
 
         image = fetchJARFavicon(guessed);
         if (imageIsValid(image)) {
             // We don't want to put this into the DB.
             Favicons.putFaviconInMemCache(faviconURL, image);
new file mode 100644
--- /dev/null
+++ b/mobile/android/base/favicons/RemoteFavicon.java
@@ -0,0 +1,89 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * 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/. */
+
+package org.mozilla.gecko.favicons;
+
+/**
+ * Class to represent a Favicon declared on a webpage which we may or may not have downloaded.
+ * Tab objects maintain a list of these and attempt to load them in descending order of quality
+ * until one works. This enables us to fallback if something fails trying to decode a Favicon.
+ */
+public class RemoteFavicon implements Comparable<RemoteFavicon> {
+    public static final int FAVICON_SIZE_ANY = -1;
+
+    // URL of the Favicon referred to by this object.
+    public String faviconUrl;
+
+    // The size of the Favicon, as given in the <link> tag, if any. Zero if unspecified. -1 if "any".
+    public int declaredSize;
+
+    // Mime type of the Favicon, as given in the link tag.
+    public String mimeType;
+
+    public RemoteFavicon(String faviconURL, int givenSize, String mime) {
+        faviconUrl = faviconURL;
+        declaredSize = givenSize;
+        mimeType = mime;
+    }
+
+    /**
+     * Determine equality of two RemoteFavicons.
+     * Two RemoteFavicons are considered equal if they have the same URL, size, and mime type.
+     * @param o The object to compare to this one.
+     * @return true if o is of type RemoteFavicon and is considered equal to this one, false otherwise.
+     */
+    @Override
+    public boolean equals(Object o) {
+        if (!(o instanceof RemoteFavicon)) {
+            return false;
+        }
+        RemoteFavicon oCast = (RemoteFavicon) o;
+
+        return oCast.faviconUrl.equals(faviconUrl) &&
+               oCast.declaredSize == declaredSize &&
+               oCast.mimeType.equals(mimeType);
+    }
+
+    @Override
+    public int hashCode() {
+        return super.hashCode();
+    }
+
+    /**
+     * Establish ordering on Favicons. Lower value in the partial ordering is a "better" Favicon.
+     * @param obj Object to compare against.
+     * @return -1 if this Favicon is "better" than the other, zero if they are equivalent in quality,
+     *         based on the information here, 1 if the other appears "better" than this one.
+     */
+    @Override
+    public int compareTo(RemoteFavicon obj) {
+        // Size "any" trumps everything else.
+        if (declaredSize == FAVICON_SIZE_ANY) {
+            if (obj.declaredSize == FAVICON_SIZE_ANY) {
+                return 0;
+            }
+
+            return -1;
+        }
+
+        if (obj.declaredSize == FAVICON_SIZE_ANY) {
+            return 1;
+        }
+
+        // Unspecified sizes are "worse".
+        if (declaredSize > obj.declaredSize) {
+            return -1;
+        }
+
+        if (declaredSize == obj.declaredSize) {
+            // If there's no other way to choose, we prefer container types. They *might* contain
+            // an image larger than the size given in the <link> tag.
+            if (Favicons.isContainerType(mimeType)) {
+                return -1;
+            }
+            return 0;
+        }
+        return 1;
+    }
+}
--- a/mobile/android/base/favicons/decoders/FaviconDecoder.java
+++ b/mobile/android/base/favicons/decoders/FaviconDecoder.java
@@ -147,60 +147,16 @@ public class FaviconDecoder {
         }
     }
 
     public static LoadFaviconResult decodeFavicon(byte[] buffer) {
         return decodeFavicon(buffer, 0, buffer.length);
     }
 
     /**
-     * Returns the smallest bitmap in the icon represented by the provided
-     * data: URI that's larger than the desired width, or the largest if
-     * there is no larger icon.
-     *
-     * Returns null if no bitmap could be extracted.
-     *
-     * Bug 961600: we shouldn't be doing all of this work. The favicon cache
-     * should be used, and will give us the right size icon.
-     */
-    public static Bitmap getMostSuitableBitmapFromDataURI(String iconURI, int desiredWidth) {
-        LoadFaviconResult result = FaviconDecoder.decodeDataURI(iconURI);
-        if (result == null) {
-            // Nothing we can do.
-            Log.w(LOG_TAG, "Unable to decode icon URI.");
-            return null;
-        }
-
-        final Iterator<Bitmap> bitmaps = result.getBitmaps();
-        if (!bitmaps.hasNext()) {
-            Log.w(LOG_TAG, "No bitmaps in decoded icon.");
-            return null;
-        }
-
-        Bitmap bitmap = bitmaps.next();
-        if (!bitmaps.hasNext()) {
-            // We're done! There was only one, so this is as big as it gets.
-            return bitmap;
-        }
-
-        // Find a bitmap of the most suitable size.
-        int currentWidth = bitmap.getWidth();
-        while ((currentWidth < desiredWidth) &&
-               bitmaps.hasNext()) {
-            final Bitmap b = bitmaps.next();
-            if (b.getWidth() > currentWidth) {
-                currentWidth = b.getWidth();
-                bitmap = b;
-            }
-        }
-
-        return bitmap;
-    }
-
-    /**
      * Iterator to hold a single bitmap.
      */
     static class SingleBitmapIterator implements Iterator<Bitmap> {
         private Bitmap bitmap;
 
         public SingleBitmapIterator(Bitmap b) {
             bitmap = b;
         }
--- a/mobile/android/base/home/HomeFragment.java
+++ b/mobile/android/base/home/HomeFragment.java
@@ -357,27 +357,17 @@ public abstract class HomeFragment exten
                     break;
 
                 case HISTORY:
                     BrowserDB.removeHistoryEntry(cr, mUrl);
                     break;
 
                 case READING_LIST:
                     BrowserDB.removeReadingListItemWithURL(cr, mUrl);
-
-                    final JSONObject json = new JSONObject();
-                    try {
-                        json.put("url", mUrl);
-                        json.put("notify", false);
-                    } catch (JSONException e) {
-                        Log.e(LOGTAG, "error building JSON arguments");
-                    }
-
-                    GeckoEvent e = GeckoEvent.createBroadcastEvent("Reader:Remove", json.toString());
-                    GeckoAppShell.sendEventToGecko(e);
+                    GeckoAppShell.sendEventToGecko(GeckoEvent.createBroadcastEvent("Reader:Removed", mUrl));
                     break;
 
                 default:
                     Log.e(LOGTAG, "Can't remove item type " + mType.toString());
                     break;
             }
             return null;
         }
--- a/mobile/android/base/locales/en-US/search_strings.dtd
+++ b/mobile/android/base/locales/en-US/search_strings.dtd
@@ -3,17 +3,17 @@
    - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
 
 <!ENTITY search_app_name '&brandShortName; Search'>
 
 <!--  Localization note (search_bar_hint): The &formatS; will be replaced with the name of
       the currently selected search engine. -->
 <!ENTITY search_bar_hint 'Search with &formatS;'>
 
-<!ENTITY search_empty_title '&brandShortName; Search'>
+<!ENTITY search_empty_title2 'Start searching'>
 <!ENTITY search_empty_message 'Quickly search for anything you want'>
 
 <!--  Localization note (search_plus_content_description): This is the content description
       for the "+" icon that appears at the end of search suggestions. -->
 <!ENTITY search_plus_content_description 'Add to search bar'>
 
 <!ENTITY search_pref_title 'Settings'>
 <!ENTITY search_pref_button_content_description 'Settings'>
--- a/mobile/android/base/moz.build
+++ b/mobile/android/base/moz.build
@@ -172,16 +172,17 @@ gbjar.sources += [
     'favicons/cache/FaviconsForURL.java',
     'favicons/decoders/FaviconDecoder.java',
     'favicons/decoders/ICODecoder.java',
     'favicons/decoders/IconDirectoryEntry.java',
     'favicons/decoders/LoadFaviconResult.java',
     'favicons/Favicons.java',
     'favicons/LoadFaviconTask.java',
     'favicons/OnFaviconLoadedListener.java',
+    'favicons/RemoteFavicon.java',
     'FilePicker.java',
     'FilePickerResultHandler.java',
     'FindInPageBar.java',
     'FormAssistPopup.java',
     'GeckoAccessibility.java',
     'GeckoActivity.java',
     'GeckoActivityStatus.java',
     'GeckoApp.java',
index 4d7d1bf4526d47f67486572e57f31a3ed3d50b92..802af44f1596d5162feab910ad868a03fa145c30
GIT binary patch
literal 771
zc%17D@N?(olHy`uVBq!ia0vp^(jd&i3?z4Pv7|FFFj@!rgt#)mKxk;FgM)*yaT<t`
zkN_loebfAsl0rk%;^N{$6BA=&V?z@XVq(%Fl9HmMQ=*cSV`7q{64GOU+{E<w_|)ix
zwD|ax*rfFM<n-9Yl-Pvy_(Y&=Mr?9wTw(@L97HCj#U_CeP)!_=k(dz&Vr0Z8r^SI(
zro|-!xnPu>77rpbfV#k3un9>SAQ7MyNf1GZNP0Yk0TPF3&wv^NQv+52VnfV~hq7U|
z!x7ZL45-y$1LGl#WS9tyT$Hh61~A|<N`m}?85o(ESy<UPIJtQFg+;|AB&B5JRaDir
zv~`V5?3{ukqhr%Ea`Fm_OG?Yi8(LcXCQO<-W9IC+^A;>zv~=0>l^Zs1-M(Yzo_z-n
z9zJpM-1!Svu3o!!=kC1+kDfk%@$%jK&tJa(`1$MipTGZl;uib^MjgMWi(`m{Wa+_n
zd!|GNwg=xk)_A9#ICJ8}vK|k=)NXILF6YYs|Mwp#f4utidmH|L+uL?sNV2J|+$AsD
z>UvWlCs%OpB)iw_QDvSHYFs7SeZToU4{Zra-F!=zmBa8>oPN+wA!&v)7eelGYYQC8
z^m52=bt>e!^n^dxVUCj`gXi9b%#Bhf*9$D!SMAji5YcY3U^Ab(NZUh+swC!5D)J8l
zjLY>jCZ9QU+xnz&MYY1r_U$|;qXg!KY3LljtkAlN%U`PXbD2qr%L9p(K_^yCxFWM%
z^hQ{w*4gqyS8Tt#eOe$Y_H@QH{#@g2OC`6sBz{)^8GeX8^WcJLRj%p(=H`33DRrdT
lUOxGH`uXRp7q8T_sADv1YhdcvXFmc;$eyl#F6*2UngBjCH(3Ax
index 87ed0dc0914251df165dee7787ebbcd7e51c959b..cc01566a8da04aeeb3b6488b713beac498feb69e
GIT binary patch
literal 549
zc%17D@N?(olHy`uVBq!ia0vp^LO?9c!3-o<`K&zvr0xaygt#(*frEoXXlSUXr>8?g
zg0F8{TwGjqbV@{GVr*<mR8mrWd|FgOI*=WmkQN`G5}TABosb$Aml2bg8k3L`pPU|(
zkP(-Z7Mqw7laL;lm>!pu5tEb(WW*$8fVhciu}K-RNojFO>9L7vamndGc6?$+JV<34
zP&<%}OU{T-0;<daGJx8FY_K?x4P;~h*&qZ|0G5R)j!y!!AzY9Gh~jjJ76_Txn|TK4
zJ<pOLzhDMN7B+ScE@2s2MI~ibO<iLXQ!^`DI|oN65C6d6@aUNMgzVhB{DQ*Ds+#&~
zGv_W?w0_s#eTR;mzk2P)?fZ}3eEj_N$IoAX{{G`uQ<@1hbgie0V~B)g=)uk?#zcv>
zhviODAxa^aoLmz(Ey=tb!FB%U{D6J??XR1D*UisPH&<P*JUMTVPJ*DRQIPc7smCkg
zm%2|V`FZ%5&;+jH2P=2XwSBwRfGbYXZn|(%2y0eRl*OyV4(Dv^zi^5hZLgShaG{UZ
z+e{{Rud4QJ)lx;SDFJNnp2(h%JhVshL`<#yi8n_bN+#=Had+^3rjn*?H*NF(9`iFV
i???VHoV%x0bY^_sZ0%VNe&42pV%yWz&t;ucLK6UuIn{0e
index 355fde58d102f91a3bda5c4baa15fd2b9468f495..92e88fd92c9eb9c8e6c189c1ac5c77c5a5e61163
GIT binary patch
literal 994
zc%17D@N?(olHy`uVBq!ia0vp^DnP8p!3-p4i=AA^z`)oa;1lA?00RyV4#vi5p`oD;
z2??>Wu|P(2baX&MLR3^#TwGjaWEw~?At5?CB_c5~E-o!1AtN?6B_<|0E-p1DDJe1m
zs30XeF+Dy$H7+hCCNV88E+aYt$ViP&PLE4UjY&w4PfCkTOpOIGQsWYVf*CPjMtov=
zOj1T{GLW4Xo0I|M#wDl5CZz+}aful~MjX(D#EdvFBNk{#Qd%6yD4<9hNHLHESpgIT
zie$tmr^SO9>9H_I9EbrVGk|0~$XKA_^mq_A18878#C)(`5Esmbl1T_QSPMuaL@z`f
zVj$QMsA8~DU@p{z42U@h1C!xKWq{m}40ae)FysE`#W#VG(NYrR7tFxO#KOwP!Og=b
zASf&%CLtp$r=X~!rmmr>rLAXVW?|**;_Bw^>*pUB93B}R8=sJvl$@HLk(HC1Ur=0H
zR#911Q{U9y+0)xMang*Lv**lTxN_B+wd*%*+`M)Bj$OO=?A?Fh;E`je&zw7d_4>`b
z_a8id^8CfiS8v{b`1tAbm#^P`{QCX(UzeNWTVPVD^K@|xsbK8A93CzlD01}U*%L<?
zMFZX_i8*fc3D_vzy(mJYI^5-;(#0b;guT7e>I<f)`xc$Q(^LMj`lkN>>%FcsT9%eS
z?wh#Kj{j7pQ{=S0|0gdh%3mbEu{h-7fwgQ?e|=H-XXz}gyEkI#(z=`MewSUe#b-Qv
zJ4?oQ%Tw;)zY9Ct>Mpx35_LW1b=@s2{ZHdX@A+>|%vL^neX+N|XZ|{Gx5%I~y6u;~
z$GQJ=@7jI$0-w8;mE%V>=C>2FICM^2V_WF^qAkL;ko8t$hg9E5liv$_%x5-O8?9fM
zvbL>4)tFOxi}WIe&GK#+lAS{r1zP-_kip|u+1Ym>Gi=f7f?bM%f_~K+Z4ZU6sLX1-
zEZh}aaMLd^j{S7oV}mpeuGbScd^7f6m|N@;DAz1hr#{p9HtVsp?PZP?x90`Taq+(H
zylu+5=ige>m!DnyZINol@&6Tq2SWO1yeeetG8f(GoV-ff^YG^_XY!qv&prQo*$Uem
py(N1ezMU>#7y9XZUf*|zpWI#rrfXI?zP$v>r=G5UF6*2UngE?Rr)B^E
index 5cf1790629be65fc9be591163b327290046d51db..107c77e8c3feb7d213a4f5c39fff08b76f16a475
GIT binary patch
literal 1323
zc%17D@N?(olHy`uVBq!ia0vp^W+2SL3?z5Yp7oxAf$?jAPlzi641|V;Iyg8O8>ayo
zo}Qi#2?;<(Y-}u$^h-*Lj*bouO$$g!h>D5|4NZ=WObbm+1j<H6ri3OWL?k7}#brcC
zr$i(sMkHj!#-_x?B*(?2#v~<0CZqwm@$sp#$;mNE=}`%(F^OqF#j!v#DLpO;NTx+6
zr^h4!*{LzfX|W0E@nA+=QbtTtYFuJ^Y;szBQU;I_mjGm>$0er4CS}9}xyh+ec2asQ
zP&^q(rUA+L#0(%KJ{e?qY+^<ni~$n?k{Lh*VZ?$2)8muDjsb~)tOGJYHiFCq+X!NS
zY>9&?O9nay!p#69p!N)qdazLt!@;^BHbO;U43J_l36X;61#!U!!YzVvlMp6D81X2A
zU@MX{V1i&LCBfAo*_DiJb;i&C^FUF)tR%=Un1PXrnT3^&or9B`hnJ6EKu}0TR7_k#
zN?Jx%K~Y6bT|-k_N8iB6%-qt((b>b(+t)83FgPSMEIcYMJ|QtFB{eN0D?7iixTLhK
zyrR0MwyvS6xwWmMv#YzeZ^Fb$lc!9bHhspd*>mSFSh`}>nzidTZr-wO`_A2a_Z>KR
z=<tyfr_Y={f9cA#>o;%Rd+_M-lc&#KynOZg&D(b$K7RWA<?FZaKYsrD{pat$*^x(1
zGB7aNd%8G=NJ!2-*seUKkb&*N_pnIurAsF%J(coWICt8XDJ3U6RtTtuY{>|coVsb9
z_My9b>(krsmw)fQ-+umcLgbzZw%f8!S|^MDRQ=rh>QNJOB<F?A<`WDG(yo7Pkuba*
z`l!(1=uICXE9q73nFg<7xsP^*wK*#9ESeM~TpDel{>?JoQT5-l`OBEL$1psKFXUTv
zscPo}{@W9NO#3WQc;UFKPs|?=#-_W{i&zD+GB}@!24(MgoA+_$<muYCYNs5UGe;rx
z*s5<k6fDX@e`d5qTK_kCRsK>dV@LO~mF)(%tKDq9+Z;~?zfyR^qU^M^%;U}6Wnv9G
z-iNgGIi>wqDP@>q^hhh^)3TN9JN^e;<d~VvD8;aRrG!_*k(&a&4S8Bz3V|+?Dr_2G
zZX|{{Y04~m#MP4*%$FLn#OZvPw{XVd51dus+D)3zi_BU${rd@#x*&~qQDG6T#G^c|
z#v77)4)I1@^k2vrwrAM|PHnk>89nW+&sSJ5abH@I(J0C+(qx_B$SSIzaInnn$-yQ*
ztv@pjww_~K+ruDw-|WzlYX{ZXx4biclx?-dsO`jYy$qG#5)aR}yZqxgd@I~(@dT~2
zD=&DyeX!@8MTSXW>M}doz-@O+|F3va=6v?+B&k|c%bBm=p7Wh|cxrP<^>(SO&b=la
zESVQ3GxeU0-@y{=d7*H7Vc=RrgAK9VMTuL>PP}>joQZ8yV$#u{@+J?zs~w1WvsBRQ
zk5+VZ>(M9MeylY7r*gejwIEH@bl*$)xwE9+y<WBdLE(WH_E~uj$A4@r(Fdh|Pgg&e
IbxsLQ01+TJd;kCd
--- a/mobile/android/base/preferences/SearchEnginePreference.java
+++ b/mobile/android/base/preferences/SearchEnginePreference.java
@@ -3,16 +3,17 @@
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 package org.mozilla.gecko.preferences;
 
 import org.json.JSONException;
 import org.json.JSONObject;
 import org.mozilla.gecko.R;
 import org.mozilla.gecko.favicons.Favicons;
+import org.mozilla.gecko.favicons.OnFaviconLoadedListener;
 import org.mozilla.gecko.favicons.decoders.FaviconDecoder;
 import org.mozilla.gecko.util.ThreadUtils;
 import org.mozilla.gecko.widget.FaviconView;
 
 import android.app.AlertDialog;
 import android.content.Context;
 import android.graphics.Bitmap;
 import android.graphics.drawable.BitmapDrawable;
@@ -29,16 +30,17 @@ public class SearchEnginePreference exte
 
     protected static final int INDEX_REMOVE_BUTTON = 1;
 
     // The icon to display in the prompt when clicked.
     private BitmapDrawable mPromptIcon;
 
     // The bitmap backing the drawable above - needed separately for the FaviconView.
     private Bitmap mIconBitmap;
+    private final Object bitmapLock = new Object();
 
     private FaviconView mFaviconView;
 
     // Search engine identifier specified by the gecko search service. This will be "other"
     // for engines that are not shipped with the app.
     private String mIdentifier;
 
     public SearchEnginePreference(Context context, SearchPreferenceCategory parentCategory) {
@@ -50,19 +52,26 @@ public class SearchEnginePreference exte
      * of our custom view elements as we desire (We can now use findViewById on them).
      *
      * @param view The view instance for this Preference object.
      */
     @Override
     protected void onBindView(View view) {
         super.onBindView(view);
 
-        // Set the icon in the FaviconView.
-        mFaviconView = ((FaviconView) view.findViewById(R.id.search_engine_icon));
-        mFaviconView.updateAndScaleImage(mIconBitmap, getTitle().toString());
+        // We synchronise to avoid a race condition between this and the favicon loading callback in
+        // setSearchEngineFromJSON.
+        synchronized (bitmapLock) {
+            // Set the icon in the FaviconView.
+            mFaviconView = ((FaviconView) view.findViewById(R.id.search_engine_icon));
+
+            if (mIconBitmap != null) {
+                mFaviconView.updateAndScaleImage(mIconBitmap, getTitle().toString());
+            }
+        }
     }
 
     @Override
     protected int getPreferenceLayoutResource() {
         return R.layout.preference_search_engine;
     }
 
     /**
@@ -156,18 +165,29 @@ public class SearchEnginePreference exte
                 // ever happen (leaving it at 0), so we fall back.
                 if (Favicons.largestFaviconSize == 0) {
                     desiredWidth = 128;
                 } else {
                     desiredWidth = Favicons.largestFaviconSize;
                 }
             }
 
-            // TODO: use the cache. Bug 961600.
-            mIconBitmap = FaviconDecoder.getMostSuitableBitmapFromDataURI(iconURI, desiredWidth);
+            Favicons.getSizedFavicon(getContext(), mIdentifier, iconURI, desiredWidth, 0,
+                new OnFaviconLoadedListener() {
+                    @Override
+                    public void onFaviconLoaded(String url, String faviconURL, Bitmap favicon) {
+                        synchronized (bitmapLock) {
+                            mIconBitmap = favicon;
 
+                            if (mFaviconView != null) {
+                                mFaviconView.updateAndScaleImage(mIconBitmap, getTitle().toString());
+                            }
+                        }
+                    }
+                }
+            );
         } catch (IllegalArgumentException e) {
             Log.e(LOGTAG, "IllegalArgumentException creating Bitmap. Most likely a zero-length bitmap.", e);
         } catch (NullPointerException e) {
             Log.e(LOGTAG, "NullPointerException creating Bitmap. Most likely a zero-length bitmap.", e);
         }
     }
 }
new file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..23343813e553a34f5341489ec91e680f80b1af22
GIT binary patch
literal 3762
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
deleted file mode 100644
index bb4abd4bb540f4d2080cdc6e5a4e949aa7f26e8b..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
GIT binary patch
literal 0
Hc$@<O00001
new file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..dd3172c640063a53b8917cfbd1849978951ca37a
GIT binary patch
literal 2320
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
deleted file mode 100644
index 26dc97f5701b840bd0fbfe3bcd839623a4bb8fc9..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
GIT binary patch
literal 0
Hc$@<O00001
new file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..f001a80137a96dd5c43e64222df3265520cdf32e
GIT binary patch
literal 5119
zc$@+M69DXqP)<h;3K|Lk000e1NJLTq003+N003+V1^@s6k7ifR000xlNkl<ZcmeI5
z36K=k8OLGRWjPiW5W%1#pkh4m!i7YLpq2(ojVI+T7zHC_6<mZ=Oi-egWI<U133wzG
z0#z}_L=gl{MPSi@VNr+%h-d%-O#~C<X1R9r`%k8~dS-fhx~IFRdskl7oA>%1-}{bt
ze(#v3O&X9HF=9kvyLRn*)YjJaY}TyV>2jMkZF(9cw8t&RZBtiQC$|;0hOoW3dkEW$
ze<$t+zCV)X`=kB)_kTEj`t*Z*HyG12%9surGNgHr9zFUXn1QiaYyh}kjFm8aF$hq?
zs>Z&FT}nC2pM3JkeZBw>2uS1vHf-3i7M(hEx|$Yn8w?$U+cF^9t-v0k%r~&l*VNR^
zrS<K$N)%>TWCS*D+_+0&#83ouJ#O1DnUW~G2Ei?))y<;Sy-HYJ1aN8+s=(;-nsw{e
z?IwgY4trq~7-EG3f?H4cl<nKM&z?1FR*hAfe1(M~u*BqHI6^9i&>s0B)@wNkZaem8
zM~)n+#2oMnFPHpz7ufjm;|D`@CBix*7lfmb2mH5!|Mw~?DxL?Qympm&6WBu!J=C+X
zuy6_lUga0lVO$-I`wV9@Ft=m(^Sz&Mbz7ROv@tB<UGR6s#;|^w6-SRAeULG3g<k-(
z!O4ffVzjEUAo4i2c{YS>;tvt`SA_A7ECN`y3G?EMFDl%T(G0Y6=gy~-U#<IGU|fp7
zFK(eD0M?0W37)iZ<Hkqb;9?CbduX5nW9D}fD9jdPvZG>|VjH0^!PM9H?%lh1#*7(S
z2>WUnPg|9gl=KJ3E3vl#{KQ-e0LQ<P{|>szwYlVXn#YyEG^;!1lvB>63s{q_fQKJ`
z_(m4H&ylWuwzMhnhai3~#Lr%_V#S}Ts;Z8p#0U8qqmo@t*>_RM4Oq8}bS(wSCrz3(
zBPb+Y2@GO>3NgjhqVL)vL>D-b_z8AtEaG;t=6UAu;loog|F($FYY;S)fKM5fZZriS
z=d$pbRJI5D_U(HG`Oc=htfad<>Jo-!a>oLr#hi|?{sEL~YLHY!X{M~Ktf*znmcJt1
z?P-x20;rKv1x-G1;6P;*H47t0jx27|rp-vT9O&wlfefo)X-s}hp2fJ!NN@{$`@|}t
zn=r=$qsD25HwL?(8q+ql#*7|4x?S_;&F6vOHyk2R3n9Nbbm-6{QD{-waHcZ0ZPlvP
z6Qmo3bu`n2zE9wX#_=Zjw=$y~^wd*Nt<!g|#*x6rj2Uwp!jOXWD=LV>FQc|BF&9dj
zmZW)yu(QnJ8T=m-em7m~@(l6uU|RJF5ZsLqX+bW;FO}7LD$HZ46^8J<nDX-S-US5(
z&rn!zw*|tt9dxr-GY5FvZC)e2BY`n?ErwZ_8ks2gHwbK)@ol(c$BsRhK404JeWcg=
zNZT6w6_39dzqUSJQ>(Jm6eMPsPmq2H`3iB3Y4>XKUx%Q#2xf>zlauk3|2VicbBV_n
zw6xv`ZIjD<@#I+rMlC-TA^bB1_#tY_#L1H<|2QSQiN>*9_n01h@WIYSMMXn^slH!}
z-g<-J_9bd(RefN{9xAA|eVzx`6WpKzEvvBikoU0LWk6PeQIlqY(9l$bD6kF&UQ11x
zpBm@(d*Hx<1<a_Xl5aRRZE;Oe+JqcT1<~LgDU;~7e+Q2SxIqkhUMEj~RYK@m>NKyd
zz_jjS1M$BAE3pDdp*tw_0*_r(QzkSo0ADT3(m>Qr5cNmP$dCdVvrmNfj$5~GUDLjO
z`xranbNIeF2XyvB-yrCF%Sm3_*-qE4T{YNS3QNF2umeI{z(Cy5NnxpJ)CJOl7Z9FN
zSiqkaHDQSk#^8UU8@+`Jy%mA|fS`xK^;yNaG_B|wUx9~Tb&}7vg~80x2&FO`AP`-H
zy^eGzk$xbylyB9*6LH((N+G+C_?=j3N!};yeZnT-_Tk&o5HEG%SM#BxvqZo_Aicvl
zl2u^$(o!m5ekc584zeaCf!6h?-!96gek(}ImHu&ddQf@@Og{&kG%?{jo-pAS;YvlN
zHOV<x>Fm@(<zzH4U_z9ICBzvHCQ-3FLd(Ml>v1t2e-%*!v5pOS&R~H)lMHv-WwPxO
z$#|w+<{;xBd@U22-v(KRU$9x?j0fMB1W$~|>5r8b->tcWndfD8nIbDNkp49`7ozRx
z4Jxi~&z?Q^BDAfE0@QP5<E<qw9N(L&$)07T9Z+rKQ(HP@${1uggx3LIGsgyFX3m`X
z1!zl$>a~*f>fXJ(mN%9rV=X{$*4i>h9s;Q-J9h5exh)Sx`C5dg<_JwagC_(1Khkc2
z6_AVqqu?T|40#GWj;Zp!c`D1-Vo<yN5Z-A<?8O{U=KHJwWE5D77A<rxA~XZh70kXu
zoAl&Lcw*;aa<2J}e9&)MVKWMhbLXK7jBcR~b`i6tz6KEu#ns-P*H#AYr$hVKQ)$k)
z5K8Fx4yR_w_cw&=WYj#?WJ~aFVXYJ2x#e5o@@tSMIJT2*mv^GFZlia24*V=ziBldz
z?_(?(CYsY{Y+-%+^tsiXFf2brt5RKyK&CR~eTmOkWbw}<YytK)xujXf>}oTNx+yGN
z&E>L%^0fIoNB`xi`78xCYSbv5VbBh9gE9#61P~q>1*F+oewP-q$_p;gb3tl;OM$g+
z-CBoja#HA~77)Vs>JZAzROGx&5e~zP=`p&P)20bbhiyo3w>eQm@-w!*85MkKVQ+ZF
z1$ug#VWbI+NSzMKs2VY6j+!3^y@Szs774R*<;oS{w8slF$fBD$f0Dr1l<U9%ZmTUe
zXO5B|#_VLEzbVfLPi<KsTwr*WZK5oZ$RlZJN)i~So<@-0?P=F6MFt<OT8zDpfqrxF
zrMW8syjHr)k(`?RnFU7D1~+y=(CgUV=<${&lNy<?jb1Q;wsz+H+6IUlCL8DDNgCi1
zQBid^(glw8;}B551a9yGpDr;;`(NKB5|PUR5-+&ql$RQJ5Ib?(wryuO0AV#jP31{o
z&?;?C6K!|Ntrr;nNN5OzR3-!RZxeSO>YB&GzH6KbM}>22J$^!3e$Hrq4&FJ>6q&Td
z1;(kY?+adBV4T=F1^;OZh^S#XQu`=^>W^I?Q5@^h;xO!U_uqei{WU9?{zZMHOAo?6
z!tK?QfiYJ4-MGN$4%2j2F5w29{7xnnKcbMN{ygYHJ-{#FK+Vf+^*0v`qg%@bp7NqM
z)rquX^t%^DUSJ@6fJaUi<w9&&dBFKITEqa(EIuL}jBYI#e3X|4^{qtS0dav*z-8D-
zb~PYe$Ze5$Kb{N0A?4YgD0eKnKppKnk}Dq2uc7LaME+A_Y?5^+@KfyGT!99huYfM$
zynxH_8~o=9fUV%`PiPEYD%|zJig&HJontVgF92s^wGNA_(Y8rLGCK@p;j2zkbv3?o
zaO>B~2)}a-fG1$L@ex^tFZhLeT){1q!FQ*T2foTAU7a%G+`5ug0osC9j1gaRn>nEL
z{|2e|An+sH>v3D-YCQN`K;;Dj7QA-{0T{T&64?6)?4BSBa03&;e8vj`rQ8bnlzdH@
z5|82Gu-lm-oypp3gBw^8NbB{OTP6}}VjRm-^X-u-MIOV)C4{9S>vV^iwb$%}2M<={
z5eHw2q7fYQ1yBkQDs_!9t?!l+m+#M7TGt<}3QbfftEk9^(PIU*z&{Wd7=2^dv#>8{
zT?Zm70r!XnA~58%FQ)f3z^8ud=pHxkIcVy7U7*nzx<p;(2*PZMA+=C$sF<k%ha$ZN
zVh(HI{-7?BY>06zASmFjcn%(Sy2=pk#J;S%Qb}aTVuKdWEmI@H_y&)1y60|Tl<jw!
zEJXt8wdjfB0t@q6Q9Z9frZxLW^D^Cws!!N3JSY2&CKbAlne=;91~sxeX%YgN*|<c!
z7r0dE4Gfq0B9)xV*WGV~fVrNT^o|1hMa^hd5YQR7erwzB0-eGGkMkMNR?^b$;fDTe
zPV<@5X#xX`>k$5hgm(vKA%1Dl*J2l-IjO?+btb3hY1zhakytnO0=};X{B=B{Ndd$h
z#lA;CZ`{xYmY`C2EJSFta36K@(oW)O^=nA~0CWt%O?p;>Fa-_5mIHSsQ}1yc;;B-g
zALjVukJmQ-U<9YfRnGPUrWppX>jk!tci7jm&GHEeE;1*IfPWYj>2@{&^=|Mi?tfLM
z-2c+6YI>IMF4EnKn{?>X2LDp%T|(Yzw6@Wt^W54PT69EkNXL#H-^VrfuWV3o7exh&
zpVKekPVPQbDe5jHu*eyNpyORqPT#}*uLHD>4-k(2xkyaWmD>18WxnycGvs*ycx`FH
zce~4(o|>WMJm8fgxGU3Ry@f!p-YnT9C^6nk`Wz*z-Zp&C8`$7;!w@Y&F2MadZf|T{
zSRP9r=Et>M;e^$TKO;Qila?Kr^Nqk5T|)fK95o}}M;Z}dCYSEf>*lRAM*R{zJI-(3
z(H+h+V8)fd`k-4_M=R4-OQSc?sWTS4uv_py%?sGoUWiV#(Dq(nWXcPE8|V(}8<Sb-
ztAY2gSk0swtJw$xD*XPJA{yw`K`{(`XPaT01*QX!Z_~6JqrjvT_*u5MhRuv|<A-lI
z!#6is9Hj-Wv>TZP29%|aAT^*w(7YL|lf!QXfi}n7OA*$oLBIy?t1QGnHp8wT!xZ@O
z#~=R%;{Ib!(2)JmqPKX@3rbkx4c+1Jpm@Y&Bkd)Jw06w8<X0f@?Vymz2V4ZDHOpvb
z!1c4MAj;LB5AaVI|Dsa(zC{HMJHS6}#+lT@L=+3a7lI%z4>0#a<m;4kb9Hrf&!B}R
zdJxv|AcQ5@!0kZeNz+LtO*)j2?&A$qHu?uT-?s<^-=&#O1=<cSXJMsZRE^W2()fQf
z%f<ekG*!GF@NPaYq)XWgPUVyzn1QZRfdAcGK$^gatOb!@<4!Oq48u>0k=Eb_TFVn*
zly6rie;g+rWT47&<Zw6@hqNv+kwD{E&NnVn3(55xgr(}4%l+#cbA=H^KDw%|z<neL
z*eNj8gCrSCfhD#xexH;wqz?pEh}!J;FiFpihhmKT#VTC4AaUkk13&4-F3LKUX*O0}
zVmzJ&+mk4UZ!;$j(XWbCfzU32h;d&3(#a_ux<SdMyh(J;8_6?Gk0-NZ@JsxcIECRM
zT@C*_u^}~o+O*!BfXT;e)bOZjKJ>q1I?|v&FkJ_JA7ZQN6{H*V&FEDiD(nJa>!QeX
z%9@Wmp6|<jE5rs6<^7qlJ8i2bV+#{3YV-HmEBhu$+6vaD+#sT)8NU#~vRdTpPfh!w
zfYmE*Z=fjkd=Wtx$`RHQ$~hO9GG+M7{_oA(ujLxjatt$2nlfdIm=KAv%)rU)!bJTe
zLtnx+?B2b5p;uwiqg=#z)rt${^G(7s7nwIdS`M}7G?TUE=s*j#Z4CqzrR9!Rz<+6J
zFN5bFcywi{(|0^1ptfz>-hhhfKJr&W(nw(BrQ5S%-(tFWOB}KaOhB1dPhh4t(WZb%
zMZtKjUsl6-y$ZSstN)_hhg(ay)JXcP#-6x+u-e+!F@)X3>mLP^9+V_J?}pZO1-(W5
z3`c6=js&LJ60;-yv9!)m95VrOfJ*Z!lMS8zvNX11n2|##l@QhlfN7KSm<fmjuy+sY
zs0Zx8H?xa0$1Pj7Y|F(LU;GsW7qz2sW;7eLAAt>}EBuQc5sq4z0btjzUHTWgHOBWb
z*H;cyqIl1`Q{qZs&p!LC{%P+9(A@1Ss$X(o@br0Rh2>7z;7VWuNG;Hl3`4QU#xo}z
z&XNW;&gGw+hLX$?KOK)@=5iU&KIqr4pZ;GgA38O2(T&QFu;%a|pSRDMGsp4Hh@)wJ
zCN7~Fn2FH7lPUgKxGe`N6WySrmSsT7sf8JtX=w{-Y26Uo`9|0=*Pa8kDm{TaoV8Yk
zeM;+CPXZIjE?v6J=U&tq2<;r}B94U`96(SX;lGM`z(OO;t?OA}>(;HSLufA}v~~zh
zir8buf&&O^29t{$r%ju-*&^C;kf$*$wG=iO?<4HzSlexz)O?Nndo|jNGFsI#Kj`#T
zU_yv}smo9lzesEA;0J;Y83wItE@Rb=&>*F=FUIvcEL*9lRu*%Hy*KIJ&6c*Y$J4T=
zL!)oP62E*Gn1Jd$IRBy9j~e!zzQ2qH+UKeA`c1p%Nk=AxIDLDRY5#l_#vjl<UO~DR
znbJ14aD=sq)^+Xj<;y)ES4ibeAT7*X2!rhloDI<<%Ws;)8?paWXd6uH+8zXrzE3)A
zkZg)(WEAoGyGGwH57?BO&#2Y3u5U5X_#~)81M3p45T=W)E-fwnE$1h?BDBV|dtE~p
z_$ceFyIE%idhIx$Ei6ffw6;qLn2O+xqhv|(4d|l^VU3{cmlh*%6Pmz8nNHGjvi4rO
zktYzG(??MPXNtoDv@`q*6u8=Sbfv&`2;VYUr~)%E(yOSv4fQ>~b;PWV5gtKz7nN%c
zI6jS_^lnw&O(X<nP^}ZU#l^*CXi9Vt<v1feEEnOZ<*Y?Oi#U3=h{LLjwCf%gJ}Ng-
z0y7xFRaBl%EE=N2orLul<6zpW_}k#^hhOIi{WjV})Uyz}G4c;wJ(#v6sOfpG$VXCO
zW@7Y5;Iz2w3A+Xcu0riq$w_40$Q(#mf7}ajGcC$rCQi3CMW<9mhp<}AD(rLMZezlr
zzcKlYo!?C<508;7dM5G$GqWtwWu610H#3H8QJn5>m6Vk9g6X{w!db+ffqNoRT?o@6
hb|OMv+*qDj{~ucDya%T?4cq_#002ovPDHLkV1iT*$yfjY
deleted file mode 100644
index dd4474533c611e124c08dbdc7c08b5d9e187c9b1..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
GIT binary patch
literal 0
Hc$@<O00001
new file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..8a57e62786b7573c4cd92200eb2e497f0de5c995
GIT binary patch
literal 7822
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
deleted file mode 100644
index 758a1b0828fc054aea969817b363caac308c4e17..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
GIT binary patch
literal 0
Hc$@<O00001
--- a/mobile/android/base/tabs/TabsPanel.java
+++ b/mobile/android/base/tabs/TabsPanel.java
@@ -277,23 +277,28 @@ public class TabsPanel extends LinearLay
         }
 
         return mActivity.onOptionsItemSelected(item);
     }
 
     private static int getTabContainerHeight(TabsLayoutContainer tabsContainer) {
         Resources resources = tabsContainer.getContext().getResources();
 
+        int screenHeight = resources.getDisplayMetrics().heightPixels;
+
+        if(NewTabletUI.isEnabled(tabsContainer.getContext())){
+            return screenHeight;
+        }
+
         PanelView panelView = tabsContainer.getCurrentPanelView();
         if (panelView != null && !panelView.shouldExpand()) {
             return resources.getDimensionPixelSize(R.dimen.tabs_layout_horizontal_height);
         }
 
         int actionBarHeight = resources.getDimensionPixelSize(R.dimen.browser_toolbar_height);
-        int screenHeight = resources.getDisplayMetrics().heightPixels;
 
         Rect windowRect = new Rect();
         tabsContainer.getWindowVisibleDisplayFrame(windowRect);
         int windowHeight = windowRect.bottom - windowRect.top;
 
         // The web content area should have at least 1.5x the height of the action bar.
         // The tabs panel shouldn't take less than 50% of the screen height and can take
         // up to 80% of the window height.
--- a/mobile/android/base/toolbar/ToolbarDisplayLayout.java
+++ b/mobile/android/base/toolbar/ToolbarDisplayLayout.java
@@ -14,16 +14,17 @@ import org.mozilla.gecko.AppConstants.Ve
 import org.mozilla.gecko.BrowserApp;
 import org.mozilla.gecko.NewTabletUI;
 import org.mozilla.gecko.R;
 import org.mozilla.gecko.SiteIdentity;
 import org.mozilla.gecko.SiteIdentity.SecurityMode;
 import org.mozilla.gecko.Tab;
 import org.mozilla.gecko.animation.PropertyAnimator;
 import org.mozilla.gecko.animation.ViewHelper;
+import org.mozilla.gecko.favicons.Favicons;
 import org.mozilla.gecko.toolbar.BrowserToolbarTabletBase.ForwardButtonAnimation;
 import org.mozilla.gecko.util.StringUtils;
 import org.mozilla.gecko.widget.ThemedLinearLayout;
 import org.mozilla.gecko.widget.ThemedTextView;
 
 import android.content.Context;
 import android.content.res.Resources;
 import android.graphics.Bitmap;
@@ -173,17 +174,17 @@ public class ToolbarDisplayLayout extend
 
             // We don't show favicons in the toolbar on new tablet. Note that while we could
             // null the favicon reference, we don't do so to avoid excessive null-checking.
             removeView(mFavicon);
         } else {
             if (Versions.feature16Plus) {
                 mFavicon.setImportantForAccessibility(View.IMPORTANT_FOR_ACCESSIBILITY_NO);
             }
-            mFaviconSize = Math.round(res.getDimension(R.dimen.browser_toolbar_favicon_size));
+            mFaviconSize = Math.round(Favicons.browserToolbarFaviconSize);
         }
 
         mSiteSecurityVisible = (mSiteSecurity.getVisibility() == View.VISIBLE);
 
         mSiteIdentityPopup = new SiteIdentityPopup(mActivity);
         mSiteIdentityPopup.setAnchor(mSiteSecurity);
 
         mStop = (ImageButton) findViewById(R.id.stop);
--- a/mobile/android/chrome/content/Reader.js
+++ b/mobile/android/chrome/content/Reader.js
@@ -27,27 +27,23 @@ let Reader = {
     Services.prefs.addObserver("reader.parse-on-load.", this, false);
 
     return this.isEnabledForParseOnLoad = this.getStateForParseOnLoad();
   },
 
   pageAction: {
     readerModeCallback: function(tabID) {
       Messaging.sendRequest({
-        type: "Reader:Click",
+        type: "Reader:Toggle",
         tabID: tabID
       });
     },
 
     readerModeActiveCallback: function(tabID) {
-      Messaging.sendRequest({
-        type: "Reader:LongClick",
-        tabID: tabID
-      });
-
+      Reader.addTabToReadingList(tabID);
       UITelemetry.addEvent("save.1", "pageaction", null, "reader");
     },
   },
 
   updatePageAction: function(tab) {
     if (this.pageAction.id) {
       PageActions.remove(this.pageAction.id);
       delete this.pageAction.id;
@@ -78,112 +74,76 @@ let Reader = {
         longClickCallback: () => this.pageAction.readerModeActiveCallback(tab.id),
         important: true
       });
     }
   },
 
   observe: function(aMessage, aTopic, aData) {
     switch(aTopic) {
-      case "Reader:Add": {
-        let args = JSON.parse(aData);
-        if ('fromAboutReader' in args) {
-          // Ignore adds initiated from aboutReader menu banner
-          break;
-        }
-
-        let tabID = null;
-        let url, urlWithoutRef;
-
-        if ('tabID' in args) {
-          tabID = args.tabID;
-
-          let tab = BrowserApp.getTabForId(tabID);
-          let currentURI = tab.browser.currentURI;
-
-          url = currentURI.spec;
-          urlWithoutRef = currentURI.specIgnoringRef;
-        } else if ('url' in args) {
-          let uri = Services.io.newURI(args.url, null, null);
-          url = uri.spec;
-          urlWithoutRef = uri.specIgnoringRef;
-        } else {
-          throw new Error("Reader:Add requires a tabID or an URL as argument");
-        }
-
-        let sendResult = function(result, article) {
-          article = article || {};
-          this.log("Reader:Add success=" + result + ", url=" + url + ", title=" + article.title + ", excerpt=" + article.excerpt);
-
-          Messaging.sendRequest({
-            type: "Reader:Added",
-            result: result,
-            title: truncate(article.title, MAX_TITLE_LENGTH),
-            url: truncate(url, MAX_URI_LENGTH),
-            length: article.length,
-            excerpt: article.excerpt
-          });
-        }.bind(this);
-
-        let handleArticle = function(article) {
-          if (!article) {
-            sendResult(this.READER_ADD_FAILED, null);
-            return;
-          }
-
-          this.storeArticleInCache(article, function(success) {
-            let result = (success ? this.READER_ADD_SUCCESS : this.READER_ADD_FAILED);
-            sendResult(result, article);
-          }.bind(this));
-        }.bind(this);
-
-        this.getArticleFromCache(urlWithoutRef, function (article) {
-          // If the article is already in reading list, bail
-          if (article) {
-            sendResult(this.READER_ADD_DUPLICATE, null);
-            return;
-          }
-
-          if (tabID != null) {
-            this.getArticleForTab(tabID, urlWithoutRef, handleArticle);
-          } else {
-            this.parseDocumentFromURL(urlWithoutRef, handleArticle);
-          }
-        }.bind(this));
-        break;
-      }
-
-      case "Reader:Remove": {
-        let args = JSON.parse(aData);
-
-        if (!("url" in args)) {
-          throw new Error("Reader:Remove requires URL as an argument");
-        }
-
-        this.removeArticleFromCache(args.url, function(success) {
-          this.log("Reader:Remove success=" + success + ", url=" + args.url);
-          if (success && args.notify) {
-            Messaging.sendRequest({
-              type: "Reader:Removed",
-              url: args.url
-            });
-          }
-        }.bind(this));
+      case "Reader:Removed": {
+        this.removeArticleFromCache(aData);
         break;
       }
 
       case "nsPref:changed": {
         if (aData.startsWith("reader.parse-on-load.")) {
           this.isEnabledForParseOnLoad = this.getStateForParseOnLoad();
         }
         break;
       }
     }
   },
 
+  addTabToReadingList: function(tabID) {
+    let tab = BrowserApp.getTabForId(tabID);
+    let currentURI = tab.browser.currentURI;
+    let url = currentURI.spec;
+    let urlWithoutRef = currentURI.specIgnoringRef;
+
+    let sendResult = function(result, article) {
+      article = article || {};
+
+      Messaging.sendRequest({
+        type: "Reader:AddToList",
+        result: result,
+        title: truncate(article.title, MAX_TITLE_LENGTH),
+        url: truncate(url, MAX_URI_LENGTH),
+        length: article.length,
+        excerpt: article.excerpt
+      });
+    }.bind(this);
+
+    let handleArticle = function(article) {
+      if (!article) {
+        sendResult(this.READER_ADD_FAILED, null);
+        return;
+      }
+
+      this.storeArticleInCache(article, function(success) {
+        let result = (success ? this.READER_ADD_SUCCESS : this.READER_ADD_FAILED);
+        sendResult(result, article);
+      }.bind(this));
+    }.bind(this);
+
+    this.getArticleFromCache(urlWithoutRef, function (article) {
+      // If the article is already in reading list, bail
+      if (article) {
+        sendResult(this.READER_ADD_DUPLICATE, null);
+        return;
+      }
+
+      if (tabID != null) {
+        this.getArticleForTab(tabID, urlWithoutRef, handleArticle);
+      } else {
+        this.parseDocumentFromURL(urlWithoutRef, handleArticle);
+      }
+    }.bind(this));
+  },
+
   getStateForParseOnLoad: function Reader_getStateForParseOnLoad() {
     let isEnabled = Services.prefs.getBoolPref("reader.parse-on-load.enabled");
     let isForceEnabled = Services.prefs.getBoolPref("reader.parse-on-load.force-enabled");
     // For low-memory devices, don't allow reader mode since it takes up a lot of memory.
     // See https://bugzilla.mozilla.org/show_bug.cgi?id=792603 for details.
     return isForceEnabled || (isEnabled && !BrowserApp.isOnLowMemoryPlatform);
   },
 
@@ -320,45 +280,41 @@ let Reader = {
 
       request.onsuccess = function(event) {
         this.log("Stored article in the cache DB: " + article.url);
         callback(true);
       }.bind(this);
     }.bind(this));
   },
 
-  removeArticleFromCache: function Reader_removeArticleFromCache(url, callback) {
+  removeArticleFromCache: function Reader_removeArticleFromCache(url) {
     this._getCacheDB(function(cacheDB) {
       if (!cacheDB) {
-        callback(false);
         return;
       }
 
       let transaction = cacheDB.transaction(cacheDB.objectStoreNames, "readwrite");
       let articles = transaction.objectStore(cacheDB.objectStoreNames[0]);
 
       let request = articles.delete(url);
 
       request.onerror = function(event) {
         this.log("Error removing article from the cache DB: " + url);
-        callback(false);
       }.bind(this);
 
       request.onsuccess = function(event) {
         this.log("Removed article from the cache DB: " + url);
-        callback(true);
       }.bind(this);
     }.bind(this));
   },
 
   uninit: function Reader_uninit() {
     Services.prefs.removeObserver("reader.parse-on-load.", this);
 
-    Services.obs.removeObserver(this, "Reader:Add");
-    Services.obs.removeObserver(this, "Reader:Remove");
+    Services.obs.removeObserver(this, "Reader:Removed");
 
     let requests = this._requests;
     for (let url in requests) {
       let request = requests[url];
       if (request.browser) {
         let browser = request.browser;
         browser.parentNode.removeChild(browser);
       }
--- a/mobile/android/chrome/content/aboutReader.js
+++ b/mobile/android/chrome/content/aboutReader.js
@@ -28,18 +28,18 @@ let gStrings = Services.strings.createBu
 
 let AboutReader = function(doc, win) {
   dump("Init()");
 
   this._docRef = Cu.getWeakReference(doc);
   this._winRef = Cu.getWeakReference(win);
 
   Services.obs.addObserver(this, "Reader:FaviconReturn", false);
-  Services.obs.addObserver(this, "Reader:Add", false);
-  Services.obs.addObserver(this, "Reader:Remove", false);
+  Services.obs.addObserver(this, "Reader:Added", false);
+  Services.obs.addObserver(this, "Reader:Removed", false);
   Services.obs.addObserver(this, "Reader:ListStatusReturn", false);
   Services.obs.addObserver(this, "Gesture:DoubleTap", false);
 
   this._article = null;
 
   dump("Feching toolbar, header and content notes from about:reader");
   this._headerElementRef = Cu.getWeakReference(doc.getElementById("reader-header"));
   this._domainElementRef = Cu.getWeakReference(doc.getElementById("reader-domain"));
@@ -185,30 +185,29 @@ AboutReader.prototype = {
     switch(aTopic) {
       case "Reader:FaviconReturn": {
         let args = JSON.parse(aData);
         this._loadFavicon(args.url, args.faviconUrl);
         Services.obs.removeObserver(this, "Reader:FaviconReturn");
         break;
       }
 
-      case "Reader:Add": {
+      case "Reader:Added": {
         // Page can be added by long-press pageAction, or by tap on banner icon.
-        let args = JSON.parse(aData);
-        if (args.url == this._article.url) {
+        if (aData == this._article.url) {
           if (this._isReadingListItem != 1) {
             this._isReadingListItem = 1;
             this._updateToggleButton();
           }
         }
         break;
       }
-      case "Reader:Remove": {
-        let args = JSON.parse(aData);
-        if (args.url == this._article.url) {
+
+      case "Reader:Removed": {
+        if (aData == this._article.url) {
           if (this._isReadingListItem != 0) {
             this._isReadingListItem = 0;
             this._updateToggleButton();
           }
         }
         break;
       }
 
@@ -275,18 +274,18 @@ AboutReader.prototype = {
         this._handleDeviceLight(aEvent.value);
         break;
 
       case "visibilitychange":
         this._handleVisibilityChange();
         break;
 
       case "unload":
-        Services.obs.removeObserver(this, "Reader:Add");
-        Services.obs.removeObserver(this, "Reader:Remove");
+        Services.obs.removeObserver(this, "Reader:Added");
+        Services.obs.removeObserver(this, "Reader:Removed");
         Services.obs.removeObserver(this, "Reader:ListStatusReturn");
         Services.obs.removeObserver(this, "Gesture:DoubleTap");
         break;
     }
   },
 
   _scrollPage: function Reader_scrollPage(scrollByPixels) {
     let viewport = BrowserApp.selectedTab.getViewport();
@@ -315,48 +314,41 @@ AboutReader.prototype = {
       url: this._article.url
     });
   },
 
   _onReaderToggle: function Reader_onToggle() {
     if (!this._article)
       return;
 
-    this._isReadingListItem = (this._isReadingListItem == 1) ? 0 : 1;
-    this._updateToggleButton();
-
-    if (this._isReadingListItem == 1) {
+    if (this._isReadingListItem == 0) {
       let uptime = UITelemetry.uptimeMillis();
       gChromeWin.Reader.storeArticleInCache(this._article, function(success) {
-        dump("Reader:Add (in reader) success=" + success);
-
         let result = gChromeWin.Reader.READER_ADD_FAILED;
         if (success) {
           result = gChromeWin.Reader.READER_ADD_SUCCESS;
           UITelemetry.addEvent("save.1", "button", uptime, "reader");
         }
 
         let json = JSON.stringify({ fromAboutReader: true, url: this._article.url });
-        Services.obs.notifyObservers(null, "Reader:Add", json);
 
         Messaging.sendRequest({
-          type: "Reader:Added",
+          type: "Reader:AddToList",
           result: result,
           title: this._article.title,
           url: this._article.url,
           length: this._article.length,
           excerpt: this._article.excerpt
         });
       }.bind(this));
     } else {
-      // In addition to removing the article from the cache (handled in
-      // browser.js), sending this message will cause the toggle button to be
-      // updated (handled in this file).
-      let json = JSON.stringify({ url: this._article.url, notify: true });
-      Services.obs.notifyObservers(null, "Reader:Remove", json);
+      Messaging.sendRequest({
+        type: "Reader:RemoveFromList",
+        url: this._article.url
+      });
 
       UITelemetry.addEvent("unsave.1", "button", null, "reader");
     }
   },
 
   _onShare: function Reader_onShare() {
     if (!this._article)
       return;
--- a/mobile/android/chrome/content/browser.js
+++ b/mobile/android/chrome/content/browser.js
@@ -132,17 +132,17 @@ XPCOMUtils.defineLazyModuleGetter(this, 
   ["ConsoleAPI", ["console-api-log-event"], "chrome://browser/content/ConsoleAPI.js"],
   ["FindHelper", ["FindInPage:Opened", "FindInPage:Closed", "Tab:Selected"], "chrome://browser/content/FindHelper.js"],
   ["PermissionsHelper", ["Permissions:Get", "Permissions:Clear"], "chrome://browser/content/PermissionsHelper.js"],
   ["FeedHandler", ["Feeds:Subscribe"], "chrome://browser/content/FeedHandler.js"],
   ["Feedback", ["Feedback:Show"], "chrome://browser/content/Feedback.js"],
   ["SelectionHandler", ["TextSelection:Get"], "chrome://browser/content/SelectionHandler.js"],
   ["Notifications", ["Notification:Event"], "chrome://browser/content/Notifications.jsm"],
   ["EmbedRT", ["GeckoView:ImportScript"], "chrome://browser/content/EmbedRT.js"],
-  ["Reader", ["Reader:Add", "Reader:Remove"], "chrome://browser/content/Reader.js"],
+  ["Reader", ["Reader:Removed"], "chrome://browser/content/Reader.js"],
 ].forEach(function (aScript) {
   let [name, notifications, script] = aScript;
   XPCOMUtils.defineLazyGetter(window, name, function() {
     let sandbox = {};
     Services.scriptloader.loadSubScript(script, sandbox);
     return sandbox[name];
   });
   let observer = (s, t, d) => {
@@ -3986,17 +3986,18 @@ Tab.prototype = {
               });
             }
           }
 
           let json = {
             type: "Link:Favicon",
             tabID: this.id,
             href: resolveGeckoURI(target.href),
-            size: maxSize
+            size: maxSize,
+            mime: target.getAttribute("type") || ""
           };
           Messaging.sendRequest(json);
         } else if (list.indexOf("[alternate]") != -1 && aEvent.type == "DOMLinkAdded") {
           let type = target.type.toLowerCase().replace(/^\s+|\s*(?:;.*)?$/g, "");
           let isFeed = (type == "application/rss+xml" || type == "application/atom+xml");
 
           if (!isFeed)
             return;
--- a/mobile/android/search/java/org/mozilla/search/PreSearchFragment.java
+++ b/mobile/android/search/java/org/mozilla/search/PreSearchFragment.java
@@ -177,17 +177,17 @@ public class PreSearchFragment extends F
         if (c != null && c.getCount() > 0) {
             return;
         }
 
         if (emptyView == null) {
             final ViewStub emptyViewStub = (ViewStub) getView().findViewById(R.id.empty_view_stub);
             emptyView = emptyViewStub.inflate();
 
-            ((ImageView) emptyView.findViewById(R.id.empty_image)).setImageResource(R.drawable.search_fox);
+            ((ImageView) emptyView.findViewById(R.id.empty_image)).setImageResource(R.drawable.icon_search_empty_firefox);
             ((TextView) emptyView.findViewById(R.id.empty_title)).setText(R.string.search_empty_title);
             ((TextView) emptyView.findViewById(R.id.empty_message)).setText(R.string.search_empty_message);
 
             listView.setEmptyView(emptyView);
         }
     }
 
     private class SearchHistoryLoaderCallbacks implements LoaderManager.LoaderCallbacks<Cursor> {
--- a/mobile/android/search/strings/search_strings.xml.in
+++ b/mobile/android/search/strings/search_strings.xml.in
@@ -1,14 +1,14 @@
     <string name="search_plus_content_description">&search_plus_content_description;</string>
 
     <string name="search_app_name">&search_app_name;</string>
     <string name="search_bar_hint">&search_bar_hint;</string>
 
-    <string name="search_empty_title">&search_empty_title;</string>
+    <string name="search_empty_title">&search_empty_title2;</string>
     <string name="search_empty_message">&search_empty_message;</string>
 
     <string name="search_pref_title">&search_pref_title;</string>
     <string name="search_pref_button_content_description">&search_pref_button_content_description;</string>
 
     <string name="pref_clearHistory_confirmation">&pref_clearHistory_confirmation;</string>
     <string name="pref_clearHistory_dialogMessage">&pref_clearHistory_dialogMessage;</string>
     <string name="pref_clearHistory_title">&pref_clearHistory_title;</string>
--- a/toolkit/content/tests/chrome/test_autocomplete2.xul
+++ b/toolkit/content/tests/chrome/test_autocomplete2.xul
@@ -104,16 +104,19 @@ function startTest() {
 
   autocomplete.highlightNonMatches = "false";
 
   is(autocomplete.getAttribute("highlightnonmatches"), "false",
      "highlight non matches attribute set to false correctly");
   is(autocomplete.highlightNonMatches, false,
      "highlight non matches getter returned false correctly");
 
+  ok(!autocomplete.popup.hasAttribute("autocompleteinput"),
+     "autocompleteinput on popup not set by default");
+
   check();
 }
 
 function check() {
   var autocomplete = $("autocomplete");
 
   // Toggle this value, so we can re-use the one function.
   returnResult = !returnResult;
@@ -141,16 +144,19 @@ function checkResult() {
     isnot(style.getPropertyCSSValue("color").cssText, "rgb(255, 0, 0)",
           "not nomatch and highlightNonMatches - should not be red");
 
     autocomplete.highlightNonMatches = "false";
 
     isnot(style.getPropertyCSSValue("color").cssText, "rgb(255, 0, 0)",
           "not nomatch and not highlightNonMatches - should not be red");
 
+    is (autocomplete.popup.getAttribute("autocompleteinput"), "autocomplete",
+      "The popup's autocompleteinput attribute is set to the ID of the textbox");
+
     setTimeout(check, 0);
   }
   else {
     // No result was returned, so there should be nomatch attribute
     is(autocomplete.getAttribute("nomatch"), "true",
        "nomatch attribute not correctly set when expected");
 
     // Ensure that the style is set correctly whichever way highlightNonMatches
@@ -160,16 +166,19 @@ function checkResult() {
     is(style.getPropertyCSSValue("color").cssText, "rgb(255, 0, 0)",
        "nomatch and highlightNonMatches - should be red");
 
     autocomplete.highlightNonMatches = "false";
 
     isnot(style.getPropertyCSSValue("color").cssText, "rgb(255, 0, 0)",
           "nomatch and not highlightNonMatches - should not be red");
 
+    ok(!autocomplete.popup.hasAttribute("autocompleteinput"),
+       "autocompleteinput on popup not set when closed");
+
     setTimeout(function() {
       // Unregister the factory so that we don't get in the way of other tests
       componentManager.unregisterFactory(autoCompleteSimpleID, autoCompleteSimple);
       SimpleTest.finish();
     }, 0);
   }
 }
 
--- a/toolkit/content/widgets/autocomplete.xml
+++ b/toolkit/content/widgets/autocomplete.xml
@@ -892,26 +892,42 @@ extends="chrome://global/content/binding
         // If normalMaxRows wasn't already set by the input, then set it here
         // so that we restore the correct number when the popup is hidden.
 
         // Null-check this.mInput; see bug 1017914
         if (this._normalMaxRows < 0 && this.mInput) {
           this._normalMaxRows = this.mInput.maxRows;
         }
 
+        // Set an attribute for styling the popup based on the input.
+        let inputID = "";
+        if (this.mInput && this.mInput.ownerDocument &&
+            this.mInput.ownerDocument.documentURIObject.schemeIs("chrome")) {
+          inputID = this.mInput.id;
+          // Take care of elements with no id that are inside xbl bindings
+          if (!inputID) {
+            let bindingParent = this.mInput.ownerDocument.getBindingParent(this.mInput);
+            if (bindingParent) {
+              inputID = bindingParent.id;
+            }
+          }
+        }
+        this.setAttribute("autocompleteinput", inputID);
+
         this.mPopupOpen = true;
       ]]></handler>
 
       <handler event="popuphiding"><![CDATA[
         var isListActive = true;
         if (this.selectedIndex == -1)
           isListActive = false;
         var controller = this.view.QueryInterface(Components.interfaces.nsIAutoCompleteController);
         controller.stopSearch();
 
+        this.removeAttribute("autocompleteinput");
         this.mPopupOpen = false;
 
         // Reset the maxRows property to the cached "normal" value, and reset
         // _normalMaxRows so that we can detect whether it was set by the input
         // when the popupshowing handler runs.
 
         // Null-check this.mInput; see bug 1017914
         if (this.mInput)
--- a/toolkit/modules/secondscreen/SimpleServiceDiscovery.jsm
+++ b/toolkit/modules/secondscreen/SimpleServiceDiscovery.jsm
@@ -16,17 +16,17 @@ Cu.import("resource://gre/modules/Timer.
 Cu.import("resource://gre/modules/Messaging.jsm");
 #endif
 
 // Define the "log" function as a binding of the Log.d function so it specifies
 // the "debug" priority and a log tag.
 #ifdef ANDROID
 let log = Cu.import("resource://gre/modules/AndroidLog.jsm",{}).AndroidLog.d.bind(null, "SSDP");
 #else
-let log = Cc["@mozilla.org/consoleservice;1"].getService(Ci.nsIConsoleService).logStringMessage
+let log = Cu.reportError;
 #endif
 
 XPCOMUtils.defineLazyGetter(this, "converter", function () {
   let conv = Cc["@mozilla.org/intl/scriptableunicodeconverter"].createInstance(Ci.nsIScriptableUnicodeConverter);
   conv.charset = "utf8";
   return conv;
 });
 
--- a/toolkit/mozapps/extensions/test/xpinstall/browser_badargs.js
+++ b/toolkit/mozapps/extensions/test/xpinstall/browser_badargs.js
@@ -1,28 +1,37 @@
 // ----------------------------------------------------------------------------
 // Test whether passing a simple string to InstallTrigger.install throws an
 // exception
 function test() {
   waitForExplicitFinish();
 
   var triggers = encodeURIComponent(JSON.stringify(TESTROOT + "unsigned.xpi"));
   gBrowser.selectedTab = gBrowser.addTab();
-  gBrowser.selectedBrowser.addEventListener("load", function() {
-    gBrowser.selectedBrowser.removeEventListener("load", arguments.callee, true);
-    // Allow the in-page load handler to run first
-    executeSoon(page_loaded);
-  }, true);
+
+  function loadListener() {
+    gBrowser.selectedBrowser.removeEventListener("load", loadListener, true);
+    gBrowser.contentWindow.addEventListener("InstallTriggered", page_loaded, false);
+  }
+
+  gBrowser.selectedBrowser.addEventListener("load", loadListener, true);
 
   // In non-e10s the exception in the content page would trigger a test failure
   if (!gMultiProcessBrowser)
     expectUncaughtException();
 
   gBrowser.loadURI(TESTROOT + "installtrigger.html?" + triggers);
 }
 
 function page_loaded() {
+  gBrowser.contentWindow.removeEventListener("InstallTriggered", page_loaded, false);
   var doc = gBrowser.contentDocument;
   is(doc.getElementById("return").textContent, "exception", "installTrigger should have failed");
-  gBrowser.removeCurrentTab();
-  finish();
+
+  // In non-e10s the exception from the page is thrown after the event so we
+  // have to spin the event loop to make sure it arrives so expectUncaughtException
+  // sees it.
+  executeSoon(() => {
+    gBrowser.removeCurrentTab();
+    finish();
+  });
 }
 // ----------------------------------------------------------------------------
--- a/toolkit/mozapps/extensions/test/xpinstall/browser_badargs2.js
+++ b/toolkit/mozapps/extensions/test/xpinstall/browser_badargs2.js
@@ -5,28 +5,37 @@ function test() {
   waitForExplicitFinish();
 
   var triggers = encodeURIComponent(JSON.stringify({
     "Unsigned XPI": {
       URL: undefined
     }
   }));
   gBrowser.selectedTab = gBrowser.addTab();
-  gBrowser.selectedBrowser.addEventListener("load", function() {
-    gBrowser.selectedBrowser.removeEventListener("load", arguments.callee, true);
-    // Allow the in-page load handler to run first
-    executeSoon(page_loaded);
-  }, true);
+
+  function loadListener() {
+    gBrowser.selectedBrowser.removeEventListener("load", loadListener, true);
+    gBrowser.contentWindow.addEventListener("InstallTriggered", page_loaded, false);
+  }
+
+  gBrowser.selectedBrowser.addEventListener("load", loadListener, true);
 
   // In non-e10s the exception in the content page would trigger a test failure
   if (!gMultiProcessBrowser)
     expectUncaughtException();
 
   gBrowser.loadURI(TESTROOT + "installtrigger.html?" + triggers);
 }
 
 function page_loaded() {
+  gBrowser.contentWindow.removeEventListener("InstallTriggered", page_loaded, false);
   var doc = gBrowser.contentDocument;
   is(doc.getElementById("return").textContent, "exception", "installTrigger should have failed");
-  gBrowser.removeCurrentTab();
-  finish();
+
+  // In non-e10s the exception from the page is thrown after the event so we
+  // have to spin the event loop to make sure it arrives so expectUncaughtException
+  // sees it.
+  executeSoon(() => {
+    gBrowser.removeCurrentTab();
+    finish();
+  });
 }
 // ----------------------------------------------------------------------------
--- a/toolkit/mozapps/extensions/test/xpinstall/browser_localfile2.js
+++ b/toolkit/mozapps/extensions/test/xpinstall/browser_localfile2.js
@@ -13,28 +13,37 @@ function test() {
   } catch (ex) {
     var xpipath = chromeroot + "unsigned.xpi"; //scenario where we are running from a .jar and already extracted
   }
   
   var triggers = encodeURIComponent(JSON.stringify({
     "Unsigned XPI": xpipath
   }));
   gBrowser.selectedTab = gBrowser.addTab();
-  gBrowser.selectedBrowser.addEventListener("load", function() {
-    gBrowser.selectedBrowser.removeEventListener("load", arguments.callee, true);
-    // Allow the in-page load handler to run first
-    executeSoon(page_loaded);
-  }, true);
+
+  function loadListener() {
+    gBrowser.selectedBrowser.removeEventListener("load", loadListener, true);
+    gBrowser.contentWindow.addEventListener("InstallTriggered", page_loaded, false);
+  }
+
+  gBrowser.selectedBrowser.addEventListener("load", loadListener, true);
 
   // In non-e10s the exception in the content page would trigger a test failure
   if (!gMultiProcessBrowser)
     expectUncaughtException();
 
   gBrowser.loadURI(TESTROOT + "installtrigger.html?" + triggers);
 }
 
 function page_loaded() {
+  gBrowser.contentWindow.removeEventListener("InstallTriggered", page_loaded, false);
   var doc = gBrowser.contentDocument;
   is(doc.getElementById("return").textContent, "exception", "installTrigger should have failed");
-  gBrowser.removeCurrentTab();
-  finish();
+
+  // In non-e10s the exception from the page is thrown after the event so we
+  // have to spin the event loop to make sure it arrives so expectUncaughtException
+  // sees it.
+  executeSoon(() => {
+    gBrowser.removeCurrentTab();
+    finish();
+  });
 }
 // ----------------------------------------------------------------------------