merge fx-team to mozilla-central a=merge
authorCarsten "Tomcat" Book <cbook@mozilla.com>
Thu, 30 Oct 2014 14:49:31 +0100
changeset 229304 675913ddbb5571ffbd6a2dd44e82ad3579917d0b
parent 229290 1aa1b23d799e5cf08b21bd8b08f78716d35d89f6 (current diff)
parent 229303 f9e9a9e2afbaf4f4d3326da033767c68195211ad (diff)
child 229315 c761480e53117954bb797714990ede05653b4fb6
child 229343 f54483ee8f467a742e5ab196dd4fe041309c3f63
child 229397 e80345c5bf6ffcf24ef3cc8b67bf06739eb2c932
push id7326
push userbhearsum@mozilla.com
push dateFri, 28 Nov 2014 15:58:42 +0000
treeherdermozilla-aurora@d3a3b2a0f2f8 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersmerge
milestone36.0a1
merge fx-team to mozilla-central a=merge
--- a/browser/app/profile/firefox.js
+++ b/browser/app/profile/firefox.js
@@ -1690,16 +1690,20 @@ pref("identity.fxaccounts.remote.force_a
 // The remote content URL shown for signin in. Must use HTTPS.
 pref("identity.fxaccounts.remote.signin.uri", "https://accounts.firefox.com/signin?service=sync&context=fx_desktop_v1");
 
 // The URL we take the user to when they opt to "manage" their Firefox Account.
 // Note that this will always need to be in the same TLD as the
 // "identity.fxaccounts.remote.signup.uri" pref.
 pref("identity.fxaccounts.settings.uri", "https://accounts.firefox.com/settings");
 
+// Migrate any existing Firefox Account data from the default profile to the
+// Developer Edition profile.
+pref("identity.fxaccounts.migrateToDevEdition", false);
+
 // On GTK, we now default to showing the menubar only when alt is pressed:
 #ifdef MOZ_WIDGET_GTK
 pref("ui.key.menuAccessKeyFocuses", true);
 #endif
 
 // Encrypted media extensions.
 pref("media.eme.enabled", false);
 
--- a/browser/base/content/aboutaccounts/aboutaccounts.js
+++ b/browser/base/content/aboutaccounts/aboutaccounts.js
@@ -326,18 +326,21 @@ function init() {
       // ideally we would only show this when we know the user is in a
       // "must reauthenticate" state - but we don't.
       // As the email address will be included in the URL returned from
       // promiseAccountsForceSigninURI, just always show it.
       fxAccounts.promiseAccountsForceSigninURI().then(url => {
         show("remote");
         wrapper.init(url, entryPoint);
       });
+    } else if (window.location.href.contains("action=migrateToDevEdition") &&
+               user == null) {
+      migrateToDevEdition(user, entryPoint);
     } else {
-      // No action specified
+      // No action specified, or migration request when we already have a user.
       if (user) {
         show("stage", "manage");
         let sb = Services.strings.createBundle("chrome://browser/locale/syncSetup.properties");
         document.title = sb.GetStringFromName("manage.pageTitle");
       } else {
         show("stage", "intro");
         // load the remote frame in the background
         wrapper.init(fxAccounts.getAccountsSignUpURI(), entryPoint);
@@ -367,16 +370,58 @@ function show(id, childId) {
         elt.style.display = 'block';
       } else {
         elt.style.display = 'none';
       }
     }
   }
 }
 
+// Migrate sync data from the default profile to the dev-edition profile.
+function migrateToDevEdition(user, entryPoint) {
+  let migrateSyncCreds = false;
+  try {
+    migrateSyncCreds = Services.prefs.getBoolPref("identity.fxaccounts.migrateToDevEdition");
+  } catch (e) {}
+  if (migrateSyncCreds) {
+    Cu.import("resource://gre/modules/osfile.jsm");
+    let fxAccountsStorage = OS.Path.join(window.getDefaultProfilePath(), fxAccountsCommon.DEFAULT_STORAGE_FILENAME);
+    return OS.File.read(fxAccountsStorage, { encoding: "utf-8" }).then(text => {
+      let accountData = JSON.parse(text).accountData;
+      return fxAccounts.setSignedInUser(accountData);
+    }).then(() => {
+      return fxAccounts.promiseAccountsForceSigninURI().then(url => {
+        show("remote");
+        wrapper.init(url, entryPoint);
+      });
+    }).then(null, error => {
+      log("Failed to migrate FX Account: " + error);
+      show("stage", "intro");
+      // load the remote frame in the background
+      wrapper.init(fxAccounts.getAccountsSignUpURI(), entryPoint);
+    }).then(() => {
+      // Reset the pref after migration.
+      Services.prefs.setBoolPref("identity.fxaccounts.migrateToDevEdition", false);
+    });
+  } else {
+    show("stage", "intro");
+    // load the remote frame in the background
+    wrapper.init(fxAccounts.getAccountsSignUpURI(), entryPoint);
+  }
+}
+
+// Helper function that returns the path of the default profile on disk. Will be
+// overridden in tests.
+function getDefaultProfilePath() {
+  let defaultProfile = Cc["@mozilla.org/toolkit/profile-service;1"]
+                        .getService(Ci.nsIToolkitProfileService)
+                        .defaultProfile;
+  return defaultProfile.rootDir.path;
+}
+
 document.addEventListener("DOMContentLoaded", function onload() {
   document.removeEventListener("DOMContentLoaded", onload, true);
   init();
   var buttonGetStarted = document.getElementById('buttonGetStarted');
   buttonGetStarted.addEventListener('click', getStarted);
 
   var oldsync = document.getElementById('oldsync');
   oldsync.addEventListener('click', handleOldSync);
--- a/browser/base/content/browser.css
+++ b/browser/base/content/browser.css
@@ -17,18 +17,22 @@
 #main-window[customize-entered] {
   min-width: -moz-fit-content;
 }
 
 searchbar {
   -moz-binding: url("chrome://browser/content/search/search.xml#searchbar");
 }
 
+.browserStack > browser {
+  -moz-binding: url("chrome://browser/content/tabbrowser.xml#tabbrowser-browser");
+}
+
 .browserStack > browser[remote="true"] {
-  -moz-binding: url("chrome://global/content/bindings/remote-browser.xml#remote-browser");
+  -moz-binding: url("chrome://browser/content/tabbrowser.xml#tabbrowser-remote-browser");
 }
 
 toolbar[customizable="true"] {
   -moz-binding: url("chrome://browser/content/customizableui/toolbar.xml#toolbar");
 }
 
 %ifdef XP_MACOSX
 #toolbar-menubar {
--- a/browser/base/content/browser.js
+++ b/browser/base/content/browser.js
@@ -794,44 +794,72 @@ function gKeywordURIFixup({ target: brow
     // Do nothing if the URL is invalid (we don't want to show a notification in that case).
     if (ex.result != Cr.NS_ERROR_UNKNOWN_HOST) {
       // ... otherwise, report:
       Cu.reportError(ex);
     }
   }
 }
 
-// Called when a docshell has attempted to load a page in an incorrect process.
-// This function is responsible for loading the page in the correct process.
-function RedirectLoad({ target: browser, data }) {
+// A shared function used by both remote and non-remote browser XBL bindings to
+// load a URI or redirect it to the correct process.
+function _loadURIWithFlags(browser, uri, flags, referrer, charset, postdata) {
+  if (!uri) {
+    uri = "about:blank";
+  }
+
+  if (!(flags & browser.webNavigation.LOAD_FLAGS_FROM_EXTERNAL)) {
+    browser.userTypedClear++;
+  }
+
+  try {
+    let shouldBeRemote = gMultiProcessBrowser &&
+                         E10SUtils.shouldBrowserBeRemote(uri);
+    if (browser.isRemoteBrowser == shouldBeRemote) {
+      browser.webNavigation.loadURI(uri, flags, referrer, postdata, null);
+    } else {
+      LoadInOtherProcess(browser, {
+        uri: uri,
+        flags: flags,
+        referrer: referrer ? referrer.spec : null,
+      });
+    }
+  } finally {
+    if (browser.userTypedClear) {
+      browser.userTypedClear--;
+    }
+  }
+}
+
+// Starts a new load in the browser first switching the browser to the correct
+// process
+function LoadInOtherProcess(browser, loadOptions, historyIndex = -1) {
   let tab = gBrowser.getTabForBrowser(browser);
   // Flush the tab state before getting it
   TabState.flush(browser);
   let tabState = JSON.parse(SessionStore.getTabState(tab));
 
-  if (data.historyIndex < 0) {
-    // Add a pseudo-history state for the new url to load
-    let newEntry = {
-      url: data.uri,
-      referrer: data.referrer,
-    };
-
-    tabState.entries = tabState.entries.slice(0, tabState.index);
-    tabState.entries.push(newEntry);
-    tabState.index++;
+  if (historyIndex < 0) {
     tabState.userTypedValue = null;
+    // Tell session history the new page to load
+    SessionStore._restoreTabAndLoad(tab, JSON.stringify(tabState), loadOptions);
   }
   else {
     // Update the history state to point to the requested index
-    tabState.index = data.historyIndex + 1;
-  }
-
-  // SessionStore takes care of setting the browser remoteness before restoring
-  // history into it.
-  SessionStore.setTabState(tab, JSON.stringify(tabState));
+    tabState.index = historyIndex + 1;
+    // SessionStore takes care of setting the browser remoteness before restoring
+    // history into it.
+    SessionStore.setTabState(tab, JSON.stringify(tabState));
+  }
+}
+
+// Called when a docshell has attempted to load a page in an incorrect process.
+// This function is responsible for loading the page in the correct process.
+function RedirectLoad({ target: browser, data }) {
+  LoadInOtherProcess(browser, data.loadOptions, data.historyIndex);
 }
 
 var gBrowserInit = {
   delayedStartupFinished: false,
 
   onLoad: function() {
     var mustLoadSidebar = false;
 
--- a/browser/base/content/tabbrowser.xml
+++ b/browser/base/content/tabbrowser.xml
@@ -5372,9 +5372,47 @@
 
           return val;
         ]]>
         </setter>
       </property>
     </implementation>
   </binding>
 
+  <binding id="tabbrowser-browser"
+           extends="chrome://global/content/bindings/browser.xml#browser">
+    <implementation>
+      <!-- throws exception for unknown schemes -->
+      <method name="loadURIWithFlags">
+        <parameter name="aURI"/>
+        <parameter name="aFlags"/>
+        <parameter name="aReferrerURI"/>
+        <parameter name="aCharset"/>
+        <parameter name="aPostData"/>
+        <body>
+          <![CDATA[
+            _loadURIWithFlags(this, aURI, aFlags, aReferrerURI, aCharset, aPostData);
+          ]]>
+        </body>
+      </method>
+    </implementation>
+  </binding>
+
+  <binding id="tabbrowser-remote-browser"
+           extends="chrome://global/content/bindings/remote-browser.xml#remote-browser">
+    <implementation>
+      <!-- throws exception for unknown schemes -->
+      <method name="loadURIWithFlags">
+        <parameter name="aURI"/>
+        <parameter name="aFlags"/>
+        <parameter name="aReferrerURI"/>
+        <parameter name="aCharset"/>
+        <parameter name="aPostData"/>
+        <body>
+          <![CDATA[
+            _loadURIWithFlags(this, aURI, aFlags, aReferrerURI, aCharset, aPostData);
+          ]]>
+        </body>
+      </method>
+    </implementation>
+  </binding>
+
 </bindings>
--- a/browser/base/content/test/general/browser.ini
+++ b/browser/base/content/test/general/browser.ini
@@ -226,17 +226,16 @@ skip-if = e10s
 [browser_bug575830.js]
 skip-if = e10s # Bug 691614 - no e10s zoom support yet
 [browser_bug577121.js]
 [browser_bug578534.js]
 skip-if = e10s # Bug ?????? - test directly manipulates content
 [browser_bug579872.js]
 [browser_bug580638.js]
 [browser_bug580956.js]
-skip-if = e10s # Bug 516755 - SessionStore disabled for e10s
 [browser_bug581242.js]
 skip-if = e10s # Bug 930863 - pageshow issues ("TypeError: charset is undefined" in pageshow listener, as document is null)
 [browser_bug581253.js]
 skip-if = e10s # Bug 930863 - pageshow issues ("TypeError: charset is undefined" in pageshow listener, as document is null)
 [browser_bug581947.js]
 skip-if = e10s
 [browser_bug585558.js]
 [browser_bug585785.js]
@@ -249,17 +248,16 @@ skip-if = e10s # Bug 653065 - Make the l
 skip-if = e10s # Bug 691601 - no form submit observers
 [browser_bug596687.js]
 [browser_bug597218.js]
 [browser_bug609700.js]
 skip-if = e10s # Bug 516755 - SessionStore disabled for e10s (calls duplicateTabIn, which uses SessionStore)
 [browser_bug623155.js]
 skip-if = e10s # Bug ?????? - URLBar issues (apparently issues with redirection)
 [browser_bug623893.js]
-skip-if = e10s # Bug 916974 - Session history doesn't work in e10s
 [browser_bug624734.js]
 [browser_bug633691.js]
 skip-if = e10s # Bug ?????? - test directly manipulates content (eg, var expertDiv = gBrowser.contentDocument.getElementById("expertContent");)
 [browser_bug647886.js]
 skip-if = buildapp == 'mulet' || e10s # Bug 916974 - Session history doesn't work in e10s
 [browser_bug655584.js]
 skip-if = e10s
 [browser_bug664672.js]
@@ -267,32 +265,32 @@ skip-if = e10s
 skip-if = buildapp == 'mulet' || os == "mac" || e10s # mac: Intermittent failures, bug 925225; e10s: Bug ?????? - test directly manipulates content (event.target.location)
 [browser_bug678392.js]
 skip-if = e10s # Bug ?????? - Obscure non-windows failures ("Snapshot array has correct length of 1 after loading one page. - Got 0, expected 1" and more)
 [browser_bug710878.js]
 skip-if = e10s # Bug ?????? - test directly manipulates content (doc.querySelector)
 [browser_bug719271.js]
 skip-if = e10s # Bug 691614 - no e10s zoom support yet
 [browser_bug724239.js]
+skip-if = e10s # Bug 1077738
 [browser_bug734076.js]
 skip-if = e10s # Bug ?????? - test directly manipulates content
 [browser_bug735471.js]
 [browser_bug749738.js]
 skip-if = e10s # Bug 921935 - focusmanager issues with e10s
 [browser_bug763468_perwindowpb.js]
 skip-if = e10s
 [browser_bug767836_perwindowpb.js]
 skip-if = e10s # Bug ?????? - test reports a leaked nsGlobalWindow with e10s enabled.
 [browser_bug771331.js]
 skip-if = e10s # Bug ?????? - test directly manipulates content
 [browser_bug783614.js]
 [browser_bug816527.js]
 skip-if = e10s # Bug 916974 - Session history doesn't work in e10s
 [browser_bug817947.js]
-skip-if = e10s # Bug 916974 - Session history doesn't work in e10s
 [browser_bug822367.js]
 [browser_bug832435.js]
 [browser_bug839103.js]
 [browser_bug880101.js]
 [browser_bug882977.js]
 [browser_bug902156.js]
 skip-if = e10s
 [browser_bug906190.js]
@@ -489,17 +487,16 @@ skip-if = (os == "win" && !debug) || e10
 skip-if = buildapp == 'mulet'
 [browser_wyciwyg_urlbarCopying.js]
 skip-if = e10s # Bug ?????? - test directly manipulates content (content.document.getElementById)
 [browser_zbug569342.js]
 skip-if = e10s # Bug 516755 - SessionStore disabled for e10s
 [browser_registerProtocolHandler_notification.js]
 skip-if = e10s # Bug 940206 - nsIWebContentHandlerRegistrar::registerProtocolHandler doesn't work in e10s
 [browser_no_mcb_on_http_site.js]
-skip-if = e10s # Bug 516755 - SessionStore disabled for e10s
 [browser_bug1003461-switchtab-override.js]
 skip-if = e10s
 [browser_bug1024133-switchtab-override-keynav.js]
 skip-if = e10s
 [browser_bug1025195_switchToTabHavingURI_ignoreFragment.js]
 [browser_addCertException.js]
 skip-if = e10s # Bug ?????? - test directly manipulates content (content.document.getElementById)
 [browser_bug1045809.js]
--- a/browser/base/content/test/general/browser_aboutAccounts.js
+++ b/browser/base/content/test/general/browser_aboutAccounts.js
@@ -10,16 +10,18 @@
 thisTestLeaksUncaughtRejectionsAndShouldBeFixed("TypeError: window.location is null");
 
 XPCOMUtils.defineLazyModuleGetter(this, "Promise",
   "resource://gre/modules/Promise.jsm");
 XPCOMUtils.defineLazyModuleGetter(this, "Task",
   "resource://gre/modules/Task.jsm");
 XPCOMUtils.defineLazyModuleGetter(this, "fxAccounts",
   "resource://gre/modules/FxAccounts.jsm");
+XPCOMUtils.defineLazyModuleGetter(this, "FileUtils",
+  "resource://gre/modules/FileUtils.jsm");
 
 const CHROME_BASE = "chrome://mochitests/content/browser/browser/base/content/test/general/";
 // Preference helpers.
 let changedPrefs = new Set();
 
 function setPref(name, value) {
   changedPrefs.add(name);
   Services.prefs.setCharPref(name, value);
@@ -176,16 +178,117 @@ let gTests = [
     yield setSignedInUser();
     let [tab, url] = yield promiseNewTabWithIframeLoadEvent("about:accounts?action=reauth");
     // The current user will be appended to the url
     let expected = expected_url + "&email=foo%40example.com";
     is(url, expected, "action=reauth got the expected URL");
   },
 },
 {
+  desc: "Test action=migrateToDevEdition (success)",
+  teardown: function* () {
+    gBrowser.removeCurrentTab();
+    yield signOut();
+  },
+  run: function* ()
+  {
+    let fxAccountsCommon = {};
+    Cu.import("resource://gre/modules/FxAccountsCommon.js", fxAccountsCommon);
+    const pref = "identity.fxaccounts.migrateToDevEdition";
+    changedPrefs.add(pref);
+    Services.prefs.setBoolPref(pref, true);
+
+    // Create the signedInUser.json file that will be used as the source of
+    // migrated user data.
+    let signedInUser = {
+      version: 1,
+      accountData: {
+        email: "foo@example.com",
+        uid: "1234@lcip.org",
+        sessionToken: "dead",
+        verified: true
+      }
+    };
+    // We use a sub-dir of the real profile dir as the "pretend" profile dir
+    // for this test.
+    let profD = Services.dirsvc.get("ProfD", Ci.nsIFile);
+    let mockDir = profD.clone();
+    mockDir.append("about-accounts-mock-profd");
+    mockDir.createUnique(Ci.nsIFile.DIRECTORY_TYPE, FileUtils.PERMS_DIRECTORY);
+    let fxAccountsStorage = OS.Path.join(mockDir.path, fxAccountsCommon.DEFAULT_STORAGE_FILENAME);
+    yield OS.File.writeAtomic(fxAccountsStorage, JSON.stringify(signedInUser));
+    info("Wrote file " + fxAccountsStorage);
+
+    // this is a little subtle - we load about:blank so we get a tab, then
+    // we send a message which does both (a) load the URL we want and (b) mocks
+    // the default profile path used by about:accounts.
+    let tab = yield promiseNewTabLoadEvent("about:blank?");
+    let readyPromise = promiseOneMessage(tab, "test:load-with-mocked-profile-path-response");
+
+    let mm = tab.linkedBrowser.messageManager;
+    mm.sendAsyncMessage("test:load-with-mocked-profile-path", {
+      url: "about:accounts?action=migrateToDevEdition",
+      profilePath: mockDir.path,
+    });
+
+    let response = yield readyPromise;
+    // We are expecting the iframe to be on the "force reauth" URL
+    let expected = yield fxAccounts.promiseAccountsForceSigninURI();
+    is(response.data.url, expected);
+
+    let userData = yield fxAccounts.getSignedInUser();
+    SimpleTest.isDeeply(userData, signedInUser.accountData, "All account data were migrated");
+    // The migration pref will have been switched off by now.
+    is(Services.prefs.getBoolPref(pref), false, pref + " got the expected value");
+
+    yield OS.File.remove(fxAccountsStorage);
+    yield OS.File.removeEmptyDir(mockDir.path);
+  },
+},
+{
+  desc: "Test action=migrateToDevEdition (no user to migrate)",
+  teardown: function* () {
+    gBrowser.removeCurrentTab();
+    yield signOut();
+  },
+  run: function* ()
+  {
+    const pref = "identity.fxaccounts.migrateToDevEdition";
+    changedPrefs.add(pref);
+    Services.prefs.setBoolPref(pref, true);
+
+    let profD = Services.dirsvc.get("ProfD", Ci.nsIFile);
+    let mockDir = profD.clone();
+    mockDir.append("about-accounts-mock-profd");
+    mockDir.createUnique(Ci.nsIFile.DIRECTORY_TYPE, FileUtils.PERMS_DIRECTORY);
+    // but leave it empty, so we don't think a user is logged in.
+
+    let tab = yield promiseNewTabLoadEvent("about:blank?");
+    let readyPromise = promiseOneMessage(tab, "test:load-with-mocked-profile-path-response");
+
+    let mm = tab.linkedBrowser.messageManager;
+    mm.sendAsyncMessage("test:load-with-mocked-profile-path", {
+      url: "about:accounts?action=migrateToDevEdition",
+      profilePath: mockDir.path,
+    });
+
+    let response = yield readyPromise;
+    // We are expecting the iframe to be on the "signup" URL
+    let expected = fxAccounts.getAccountsSignUpURI();
+    is(response.data.url, expected);
+
+    // and expect no signed in user.
+    let userData = yield fxAccounts.getSignedInUser();
+    is(userData, null);
+    // The migration pref should have still been switched off.
+    is(Services.prefs.getBoolPref(pref), false, pref + " got the expected value");
+    yield OS.File.removeEmptyDir(mockDir.path);
+  },
+},
+{
   desc: "Test observers about:accounts",
   teardown: function() {
     gBrowser.removeCurrentTab();
   },
   run: function* () {
     setPref("identity.fxaccounts.remote.signup.uri", "https://example.com/");
     yield setSignedInUser();
     let tab = yield promiseNewTabLoadEvent("about:accounts");
@@ -318,10 +421,11 @@ function setSignedInUser(data) {
       kB: "cafe",
       verified: true
     }
   }
  return fxAccounts.setSignedInUser(data);
 }
 
 function signOut() {
-  return fxAccounts.signOut();
+  // we always want a "localOnly" signout here...
+  return fxAccounts.signOut(true);
 }
--- a/browser/base/content/test/general/browser_e10s_switchbrowser.js
+++ b/browser/base/content/test/general/browser_e10s_switchbrowser.js
@@ -47,17 +47,18 @@ let check_history = Task.async(function*
     is(entry.uri, gExpectedHistory.entries[i].uri, "Should have the right URI");
     is(entry.title, gExpectedHistory.entries[i].title, "Should have the right title");
   }
 });
 
 // Waits for a load and updates the known history
 let waitForLoad = Task.async(function*(uri) {
   info("Loading " + uri);
-  gBrowser.loadURI(uri);
+  // Longwinded but this ensures we don't just shortcut to LoadInNewProcess
+  gBrowser.selectedBrowser.webNavigation.loadURI(uri, Ci.nsIWebNavigation.LOAD_FLAGS_NONE, null, null, null);
 
   yield waitForDocLoadComplete();
   gExpectedHistory.index++;
   gExpectedHistory.entries.push({
     uri: gBrowser.currentURI.spec,
     title: gBrowser.contentTitle
   });
 });
@@ -73,17 +74,17 @@ let forward = Task.async(function*() {
   info("Going forward");
   gBrowser.goForward();
   yield waitForDocLoadComplete();
   gExpectedHistory.index++;
 });
 
 // Tests that navigating from a page that should be in the remote process and
 // a page that should be in the main process works and retains history
-add_task(function*() {
+add_task(function* test_navigation() {
   SimpleTest.requestCompleteLog();
 
   let remoting = Services.prefs.getBoolPref("browser.tabs.remote.autostart");
   let expectedRemote = remoting ? "true" : "";
 
   info("1");
   // Create a tab and load a remote page in it
   gBrowser.selectedTab = gBrowser.addTab("about:blank", {skipAnimation: true});
@@ -133,10 +134,64 @@ add_task(function*() {
 
   info("8");
   yield forward();
   is(gBrowser.selectedTab.getAttribute("remote"), expectedRemote, "Remote attribute should be correct");
   is(gBrowser.selectedBrowser.permanentKey, permanentKey, "browser.permanentKey is still the same");
   yield check_history();
 
   info("9");
+  yield back();
+  is(gBrowser.selectedTab.getAttribute("remote"), "", "Remote attribute should be correct");
+  is(gBrowser.selectedBrowser.permanentKey, permanentKey, "browser.permanentKey is still the same");
+  yield check_history();
+
+  info("10");
+  // Load a new remote page, this should replace the last history entry
+  gExpectedHistory.entries.splice(gExpectedHistory.entries.length - 1, 1);
+  yield waitForLoad("http://example.com/" + DUMMY_PATH);
+  is(gBrowser.selectedTab.getAttribute("remote"), expectedRemote, "Remote attribute should be correct");
+  is(gBrowser.selectedBrowser.permanentKey, permanentKey, "browser.permanentKey is still the same");
+  yield check_history();
+
+  info("11");
   gBrowser.removeCurrentTab();
 });
+
+// Tests that calling gBrowser.loadURI or browser.loadURI to load a page in a
+// different process updates the browser synchronously
+add_task(function* test_synchronous() {
+  let remoting = Services.prefs.getBoolPref("browser.tabs.remote.autostart");
+  let expectedRemote = remoting ? "true" : "";
+
+  info("1");
+  // Create a tab and load a remote page in it
+  gBrowser.selectedTab = gBrowser.addTab("about:blank", {skipAnimation: true});
+  let {permanentKey} = gBrowser.selectedBrowser;
+  yield waitForLoad("http://example.org/" + DUMMY_PATH);
+  is(gBrowser.selectedTab.getAttribute("remote"), expectedRemote, "Remote attribute should be correct");
+  is(gBrowser.selectedBrowser.permanentKey, permanentKey, "browser.permanentKey is still the same");
+
+  info("2");
+  // Load another page
+  info("Loading about:robots");
+  gBrowser.selectedBrowser.loadURI("about:robots");
+  is(gBrowser.selectedTab.getAttribute("remote"), "", "Remote attribute should be correct");
+  is(gBrowser.selectedBrowser.permanentKey, permanentKey, "browser.permanentKey is still the same");
+
+  yield waitForDocLoadComplete();
+  is(gBrowser.selectedTab.getAttribute("remote"), "", "Remote attribute should be correct");
+  is(gBrowser.selectedBrowser.permanentKey, permanentKey, "browser.permanentKey is still the same");
+
+  info("3");
+  // Load the remote page again
+  info("Loading http://example.org/" + DUMMY_PATH);
+  gBrowser.loadURI("http://example.org/" + DUMMY_PATH);
+  is(gBrowser.selectedTab.getAttribute("remote"), expectedRemote, "Remote attribute should be correct");
+  is(gBrowser.selectedBrowser.permanentKey, permanentKey, "browser.permanentKey is still the same");
+
+  yield waitForDocLoadComplete();
+  is(gBrowser.selectedTab.getAttribute("remote"), expectedRemote, "Remote attribute should be correct");
+  is(gBrowser.selectedBrowser.permanentKey, permanentKey, "browser.permanentKey is still the same");
+
+  info("4");
+  gBrowser.removeCurrentTab();
+});
--- a/browser/base/content/test/general/content_aboutAccounts.js
+++ b/browser/base/content/test/general/content_aboutAccounts.js
@@ -1,26 +1,32 @@
 /* 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/. */
 
 // This file is loaded as a "content script" for browser_aboutAccounts tests
 "use strict";
 
+const {interfaces: Ci, utils: Cu} = Components;
+
 addEventListener("load", function load(event) {
   if (event.target != content.document) {
     return;
   }
 //  content.document.removeEventListener("load", load, true);
   sendAsyncMessage("test:document:load");
 }, true);
 
 addEventListener("DOMContentLoaded", function domContentLoaded(event) {
   removeEventListener("DOMContentLoaded", domContentLoaded, true);
   let iframe = content.document.getElementById("remote");
+  if (!iframe) {
+    // at least one test initially loads about:blank - in that case, we are done.
+    return;
+  }
   iframe.addEventListener("load", function iframeLoaded(event) {
     if (iframe.contentWindow.location.href == "about:blank" ||
         event.target != iframe) {
       return;
     }
     iframe.removeEventListener("load", iframeLoaded, true);
     sendAsyncMessage("test:iframe:load", {url: iframe.getAttribute("src")});
   }, true);
@@ -41,8 +47,28 @@ addMessageListener("test:check-visibilit
         result[id] = "strange: " + displayStyle; // tests should fail!
       }
     } else {
       result[id] = "doesn't exist: " + id;
     }
   }
   sendAsyncMessage("test:check-visibilities-response", result);
 });
+
+addMessageListener("test:load-with-mocked-profile-path", function (message) {
+  addEventListener("DOMContentLoaded", function domContentLoaded(event) {
+    removeEventListener("DOMContentLoaded", domContentLoaded, true);
+    content.getDefaultProfilePath = () => message.data.profilePath;
+    // now wait for the iframe to load.
+    let iframe = content.document.getElementById("remote");
+    iframe.addEventListener("load", function iframeLoaded(event) {
+      if (iframe.contentWindow.location.href == "about:blank" ||
+          event.target != iframe) {
+        return;
+      }
+      iframe.removeEventListener("load", iframeLoaded, true);
+      sendAsyncMessage("test:load-with-mocked-profile-path-response",
+                       {url: iframe.getAttribute("src")});
+    }, true);
+  });
+  let webNav = docShell.QueryInterface(Ci.nsIWebNavigation);
+  webNav.loadURI(message.data.url, webNav.LOAD_FLAGS_NONE, null, null, null);
+}, true);
--- a/browser/components/customizableui/CustomizableUI.jsm
+++ b/browser/components/customizableui/CustomizableUI.jsm
@@ -33,16 +33,17 @@ const kNSXUL = "http://www.mozilla.org/k
 
 const kSpecialWidgetPfx = "customizableui-special-";
 
 const kPrefCustomizationState        = "browser.uiCustomization.state";
 const kPrefCustomizationAutoAdd      = "browser.uiCustomization.autoAdd";
 const kPrefCustomizationDebug        = "browser.uiCustomization.debug";
 const kPrefDrawInTitlebar            = "browser.tabs.drawInTitlebar";
 const kPrefDeveditionTheme           = "browser.devedition.theme.enabled";
+const kPrefWebIDEInNavbar            = "devtools.webide.widget.inNavbarByDefault";
 
 /**
  * The keys are the handlers that are fired when the event type (the value)
  * is fired on the subview. A widget that provides a subview has the option
  * of providing onViewShowing and onViewHiding event handlers.
  */
 const kSubviewEvents = [
   "ViewShowing",
@@ -193,28 +194,34 @@ let CustomizableUIInternal = {
 
     this.registerArea(CustomizableUI.AREA_PANEL, {
       anchor: "PanelUI-menu-button",
       type: CustomizableUI.TYPE_MENU_PANEL,
       defaultPlacements: panelPlacements
     }, true);
     PanelWideWidgetTracker.init();
 
+    let navbarPlacements = [
+      "urlbar-container",
+      "search-container",
+      "bookmarks-menu-button",
+      "downloads-button",
+      "home-button",
+      "loop-call-button",
+    ];
+
+    if (Services.prefs.getBoolPref(kPrefWebIDEInNavbar)) {
+      navbarPlacements.push("webide-button");
+    }
+
     this.registerArea(CustomizableUI.AREA_NAVBAR, {
       legacy: true,
       type: CustomizableUI.TYPE_TOOLBAR,
       overflowable: true,
-      defaultPlacements: [
-        "urlbar-container",
-        "search-container",
-        "bookmarks-menu-button",
-        "downloads-button",
-        "home-button",
-        "loop-call-button",
-      ],
+      defaultPlacements: navbarPlacements,
       defaultCollapsed: false,
     }, true);
 #ifndef XP_MACOSX
     this.registerArea(CustomizableUI.AREA_MENUBAR, {
       legacy: true,
       type: CustomizableUI.TYPE_TOOLBAR,
       defaultPlacements: [
         "menubar-items",
--- a/browser/components/loop/GoogleImporter.jsm
+++ b/browser/components/loop/GoogleImporter.jsm
@@ -43,17 +43,17 @@ log.addAppender(new Log.ConsoleAppender(
 const extractFieldsFromNode = function(fieldMap, node, ns = null, target = {}, wrapInArray = false) {
   for (let [field, nodeName] of fieldMap) {
     let nodeList = ns ? node.getElementsByTagNameNS(ns, nodeName) :
                         node.getElementsByTagName(nodeName);
     if (nodeList.length) {
       if (!nodeList[0].firstChild) {
         continue;
       }
-      let value = nodeList[0].firstChild.nodeValue;
+      let value = nodeList[0].textContent;
       target[field] = wrapInArray ? [value] : value;
     }
   }
   return target;
 };
 
 /**
  * Helper function that reads the type of (email-)address or phone number from an
@@ -163,18 +163,18 @@ this.GoogleImporter.prototype = {
    *                                 invoked from. It will be used to be able to
    *                                 open a window for the OAuth process with chrome
    *                                 privileges.
    */
   startImport: function(options, callback, db, windowRef) {
     Task.spawn(function* () {
       let code = yield this._promiseAuthCode(windowRef);
       let tokenSet = yield this._promiseTokenSet(code);
-      let contactEntries = yield this._promiseContactEntries(tokenSet);
-      let {total, success, ids} = yield this._processContacts(contactEntries, db);
+      let contactEntries = yield this._getContactEntries(tokenSet);
+      let {total, success, ids} = yield this._processContacts(contactEntries, db, tokenSet);
       yield this._purgeContacts(ids, db);
 
       return {
         total: total,
         success: success
       };
     }.bind(this)).then(stats => callback(null, stats),
                        error => callback(error))
@@ -281,97 +281,138 @@ this.GoogleImporter.prototype = {
                                                  "loop.oauth.google.clientSecretOverride") +
                  "&redirect_uri=" + encodeURIComponent(Services.prefs.getCharPref(
                                                        "loop.oauth.google.redirect_uri"));
 
       request.send(body);
     });
   },
 
-  /**
-   * Fetches all the contacts in a users' address book.
-   *
-   * @see https://developers.google.com/google-apps/contacts/v3/#retrieving_all_contacts
-   *
-   * @param {Object} tokenSet OAuth tokenset used to authenticate the request
-   * @returns An `Error` object upon failure or an Array of contact XML nodes.
-   */
-  _promiseContactEntries: function(tokenSet) {
-    return new Promise(function(resolve, reject) {
+  _promiseRequestXML: function(URL, tokenSet) {
+    return new Promise((resolve, reject) => {
       let request = Cc["@mozilla.org/xmlextras/xmlhttprequest;1"]
                       .createInstance(Ci.nsIXMLHttpRequest);
 
-      request.open("GET", getUrlParam("https://www.google.com/m8/feeds/contacts/default/full",
-                                      "loop.oauth.google.getContactsURL",
-                                      false) + "?max-results=" + kContactsMaxResults);
+      request.open("GET", URL);
 
       request.setRequestHeader("Content-Type", "application/xml; charset=utf-8");
       request.setRequestHeader("GData-Version", "3.0");
       request.setRequestHeader("Authorization", "Bearer " + tokenSet.access_token);
 
       request.onload = function() {
         if (request.status < 400) {
           let doc = request.responseXML;
-          // First get the profile id.
+          // First get the profile id, which is present in each XML request.
           let currNode = doc.documentElement.firstChild;
           while (currNode) {
             if (currNode.nodeType == 1 && currNode.localName == "id") {
-              gProfileId = currNode.firstChild.nodeValue;
+              gProfileId = currNode.textContent;
               break;
             }
             currNode = currNode.nextSibling;
           }
 
-          // Then kick of the importing of contact entries.
-          let entries = Array.prototype.slice.call(doc.querySelectorAll("entry"));
-          resolve(entries);
+          resolve(doc);
         } else {
           reject(new Error(request.status + " " + request.statusText));
         }
       };
 
       request.onerror = function(error) {
         reject(error);
       }
 
       request.send();
     });
   },
 
   /**
+   * Fetches all the contacts in a users' address book.
+   *
+   * @see https://developers.google.com/google-apps/contacts/v3/#retrieving_all_contacts
+   *
+   * @param {Object} tokenSet OAuth tokenset used to authenticate the request
+   * @returns An `Error` object upon failure or an Array of contact XML nodes.
+   */
+  _getContactEntries: Task.async(function* (tokenSet) {
+    let URL = getUrlParam("https://www.google.com/m8/feeds/contacts/default/full",
+                          "loop.oauth.google.getContactsURL",
+                          false) + "?max-results=" + kContactsMaxResults;
+    let xmlDoc = yield this._promiseRequestXML(URL, tokenSet);
+    // Then kick of the importing of contact entries.
+    return Array.prototype.slice.call(xmlDoc.querySelectorAll("entry"));
+  }),
+
+  /**
+   * Fetches the default group from a users' address book, called 'Contacts'.
+   *
+   * @see https://developers.google.com/google-apps/contacts/v3/#retrieving_all_contact_groups
+   *
+   * @param {Object} tokenSet OAuth tokenset used to authenticate the request
+   * @returns An `Error` object upon failure or the String group ID.
+   */
+  _getContactsGroupId: Task.async(function* (tokenSet) {
+    let URL = getUrlParam("https://www.google.com/m8/feeds/groups/default/full",
+                          "loop.oauth.google.getGroupsURL",
+                          false) + "?max-results=" + kContactsMaxResults;
+    let xmlDoc = yield this._promiseRequestXML(URL, tokenSet);
+    let contactsEntry = xmlDoc.querySelector("systemGroup[id=\"Contacts\"]");
+    if (!contactsEntry) {
+      throw new Error("Contacts group not present");
+    }
+    // Select the actual <entry> node, which is the parent of the <systemGroup>
+    // node we just selected.
+    contactsEntry = contactsEntry.parentNode;
+    return contactsEntry.getElementsByTagName("id")[0].textContent;
+  }),
+
+  /**
    * Process the contact XML nodes that Google provides, convert them to the MozContact
    * format, check if the contact already exists in the database and when it doesn't,
    * store it permanently.
    * During this process statistics are collected about the amount of successful
    * imports. The consumer of this class may use these statistics to inform the
    * user.
+   * Note: only contacts that are part of the 'Contacts' system group will be
+   *       imported.
    *
    * @param {Array}        contactEntries List of XML DOMNodes contact entries.
    * @param {LoopContacts} db             Instance of the LoopContacts database
    *                                      object, which will store the newly found
    *                                      contacts.
+   * @param {Object}       tokenSet       OAuth tokenset used to authenticate a
+   *                                      request
    * @returns An `Error` object upon failure or an Object with statistics in the
    *          following format: `{ total: 25, success: 13, ids: {} }`.
    */
-  _processContacts: Task.async(function* (contactEntries, db) {
+  _processContacts: Task.async(function* (contactEntries, db, tokenSet) {
     let stats = {
       total: contactEntries.length,
       success: 0,
       ids: {}
     };
 
+    // Contacts that are _not_ part of the 'Contacts' group will be ignored.
+    let contactsGroupId = yield this._getContactsGroupId(tokenSet);
+
     for (let entry of contactEntries) {
       let contact = this._processContactFields(entry);
 
       stats.ids[contact.id] = 1;
       let existing = yield db.promise("getByServiceId", contact.id);
       if (existing) {
         yield db.promise("remove", existing._guid);
       }
 
+      // After contact removal, check if the entry is part of the correct group.
+      if (!entry.querySelector("groupMembershipInfo[deleted=\"false\"][href=\"" +
+                               contactsGroupId + "\"]")) {
+        continue;
+      }
+
       // If the contact contains neither email nor phone number, then it is not
       // useful in the Loop address book: do not add.
       if (!("email" in contact) && !("tel" in contact)) {
         continue;
       }
 
       yield db.promise("add", contact);
       stats.success++;
@@ -445,34 +486,34 @@ this.GoogleImporter.prototype = {
 
     // Process telephone numbers.
     let phoneNodes = entry.getElementsByTagNameNS(kNS_GD, "phoneNumber");
     if (phoneNodes.length) {
       contact.tel = [];
       for (let [,phoneNode] of Iterator(phoneNodes)) {
         let phoneNumber = phoneNode.hasAttribute("uri") ?
           phoneNode.getAttribute("uri").replace("tel:", "") :
-          phoneNode.firstChild.nodeValue;
+          phoneNode.textContent;
         contact.tel.push({
           pref: (phoneNode.getAttribute("primary") == "true"),
           type: [getFieldType(phoneNode)],
           value: phoneNumber
         });
       }
     }
 
     let orgNodes = entry.getElementsByTagNameNS(kNS_GD, "organization");
     if (orgNodes.length) {
       contact.org = [];
       contact.jobTitle = [];
       for (let [,orgNode] of Iterator(orgNodes)) {
         let orgElement = orgNode.getElementsByTagNameNS(kNS_GD, "orgName")[0];
         let titleElement = orgNode.getElementsByTagNameNS(kNS_GD, "orgTitle")[0];
-        contact.org.push(orgElement ? orgElement.firstChild.nodeValue : "")
-        contact.jobTitle.push(titleElement ? titleElement.firstChild.nodeValue : "");
+        contact.org.push(orgElement ? orgElement.textContent : "")
+        contact.jobTitle.push(titleElement ? titleElement.textContent : "");
       }
     }
 
     contact.category = ["google"];
 
     // Basic sanity checking: make sure the name field isn't empty
     if (!("name" in contact) || contact.name[0].length == 0) {
       if (("familyName" in contact) && ("givenName" in contact)) {
--- a/browser/components/loop/LoopRooms.jsm
+++ b/browser/components/loop/LoopRooms.jsm
@@ -63,17 +63,17 @@ let LoopRoomsInternal = {
    */
   getAll: function(version = null, callback) {
     if (!callback) {
       callback = version;
       version = null;
     }
 
     Task.spawn(function* () {
-      yield MozLoopService.register();
+      yield MozLoopService.promiseRegisteredWithServers();
 
       if (!gDirty) {
         callback(null, [...this.rooms.values()]);
         return;
       }
 
       // Fetch the rooms from the server.
       let sessionType = MozLoopService.userProfile ? LOOP_SESSION_TYPE.FXA :
--- a/browser/components/loop/MozLoopAPI.jsm
+++ b/browser/components/loop/MozLoopAPI.jsm
@@ -364,17 +364,17 @@ function injectLoopAPI(targetWindow) {
      *                            happened.
      */
     ensureRegistered: {
       enumerable: true,
       writable: true,
       value: function(callback) {
         // We translate from a promise to a callback, as we can't pass promises from
         // Promise.jsm across the priv versus unpriv boundary.
-        MozLoopService.register().then(() => {
+        MozLoopService.promiseRegisteredWithServers().then(() => {
           callback(null);
         }, err => {
           callback(cloneValueInto(err, targetWindow));
         }).catch(Cu.reportError);
       }
     },
 
     /**
--- a/browser/components/loop/MozLoopService.jsm
+++ b/browser/components/loop/MozLoopService.jsm
@@ -25,16 +25,17 @@ const PREF_LOG_LEVEL = "loop.debug.logle
 
 const EMAIL_OR_PHONE_RE = /^(:?\S+@\S+|\+\d+)$/;
 
 Cu.import("resource://gre/modules/Services.jsm");
 Cu.import("resource://gre/modules/XPCOMUtils.jsm");
 Cu.import("resource://gre/modules/Promise.jsm");
 Cu.import("resource://gre/modules/osfile.jsm", this);
 Cu.import("resource://gre/modules/Task.jsm");
+Cu.import("resource://gre/modules/Timer.jsm");
 Cu.import("resource://gre/modules/FxAccountsOAuthClient.jsm");
 
 Cu.importGlobalProperties(["URL"]);
 
 this.EXPORTED_SYMBOLS = ["MozLoopService", "LOOP_SESSION_TYPE"];
 
 XPCOMUtils.defineLazyModuleGetter(this, "injectLoopAPI",
   "resource:///modules/loop/MozLoopAPI.jsm");
@@ -106,17 +107,16 @@ function getJSONPref(aName) {
 }
 
 // The current deferred for the registration process. This is set if in progress
 // or the registration was successful. This is null if a registration attempt was
 // unsuccessful.
 let gRegisteredDeferred = null;
 let gHawkClient = null;
 let gLocalizedStrings = null;
-let gInitializeTimer = null;
 let gFxAEnabled = true;
 let gFxAOAuthClientPromise = null;
 let gFxAOAuthClient = null;
 let gErrors = new Map();
 
 /**
  * Internal helper methods and state
  *
@@ -304,17 +304,17 @@ let MozLoopServiceInternal = {
   },
 
   get errors() {
     return gErrors;
   },
 
   /**
    * Starts registration of Loop with the push server, and then will register
-   * with the Loop server. It will return early if already registered.
+   * with the Loop server as a GUEST. It will return early if already registered.
    *
    * @returns {Promise} a promise that is resolved with no params on completion, or
    *          rejected with an error code or string.
    */
   promiseRegisteredWithServers: function() {
     if (gRegisteredDeferred) {
       return gRegisteredDeferred.promise;
     }
@@ -866,52 +866,27 @@ let MozLoopServiceInternal = {
       deferred.resolve(result);
     } else {
       deferred.reject("Invalid token data");
     }
   },
 };
 Object.freeze(MozLoopServiceInternal);
 
+
 let gInitializeTimerFunc = (deferredInitialization) => {
   // Kick off the push notification service into registering after a timeout.
   // This ensures we're not doing too much straight after the browser's finished
   // starting up.
-  gInitializeTimer = Cc["@mozilla.org/timer;1"].createInstance(Ci.nsITimer);
-  gInitializeTimer.initWithCallback(Task.async(function* initializationCallback() {
-    yield MozLoopService.register().then(Task.async(function*() {
-      if (!MozLoopServiceInternal.fxAOAuthTokenData) {
-        log.debug("MozLoopService: Initialized without an already logged-in account");
-        deferredInitialization.resolve("initialized to guest status");
-        return;
-      }
 
-      log.debug("MozLoopService: Initializing with already logged-in account");
-      let registeredPromise =
-            MozLoopServiceInternal.registerWithLoopServer(
-              LOOP_SESSION_TYPE.FXA, {
-                calls: MozLoopServiceInternal.pushHandler.registeredChannels[MozLoopService.channelIDs.callsFxA],
-                rooms: MozLoopServiceInternal.pushHandler.registeredChannels[MozLoopService.channelIDs.roomsFxA]
-              });
-      registeredPromise.then(() => {
-        deferredInitialization.resolve("initialized to logged-in status");
-      }, error => {
-        log.debug("MozLoopService: error logging in using cached auth token");
-        MozLoopServiceInternal.setError("login", error);
-        deferredInitialization.reject("error logging in using cached auth token");
-      });
-    }), error => {
-      log.debug("MozLoopService: Failure of initial registration", error);
-      deferredInitialization.reject(error);
-    });
-    gInitializeTimer = null;
-  }),
-  MozLoopServiceInternal.initialRegistrationDelayMilliseconds, Ci.nsITimer.TYPE_ONE_SHOT);
+  setTimeout(MozLoopService.delayedInitialize.bind(MozLoopService, deferredInitialization),
+             MozLoopServiceInternal.initialRegistrationDelayMilliseconds);
 };
 
+
 /**
  * Public API
  */
 this.MozLoopService = {
   _DNSService: gDNSService,
 
   get channelIDs() {
     // Channel ids that will be registered with the PushServer for notifications
@@ -957,23 +932,70 @@ this.MozLoopService = {
     if (!MozLoopServiceInternal.urlExpiryTimeIsInFuture() &&
         !MozLoopServiceInternal.fxAOAuthTokenData) {
       return Promise.resolve("registration not needed");
     }
 
     let deferredInitialization = Promise.defer();
     gInitializeTimerFunc(deferredInitialization);
 
-    return deferredInitialization.promise.catch(error => {
+    return deferredInitialization.promise;
+  }),
+
+  /**
+   * The core of the initialization work that happens once the browser is ready
+   * (after a timer when called during startup).
+   *
+   * Can be called more than once (e.g. if the initial setup fails at some phase).
+   * @param {Deferred} deferredInitialization
+   */
+  delayedInitialize: Task.async(function*(deferredInitialization) {
+    // Set or clear an error depending on how deferredInitialization gets resolved.
+    // We do this first so that it can handle the early returns below.
+    let completedPromise = deferredInitialization.promise.then(result => {
+      MozLoopServiceInternal.clearError("initialization");
+      return result;
+    },
+    error => {
+      // If we get a non-object then setError was already called for a different error type.
       if (typeof(error) == "object") {
-        // This never gets cleared since there is no UI to recover. Only restarting will work.
         MozLoopServiceInternal.setError("initialization", error);
       }
-      throw error;
     });
+
+    try {
+      yield this.promiseRegisteredWithServers();
+    } catch (ex) {
+      log.debug("MozLoopService: Failure of initial registration", ex);
+      deferredInitialization.reject(ex);
+      yield completedPromise;
+      return;
+    }
+
+    if (!MozLoopServiceInternal.fxAOAuthTokenData) {
+      log.debug("MozLoopService: Initialized without an already logged-in account");
+      deferredInitialization.resolve("initialized to guest status");
+      yield completedPromise;
+      return;
+    }
+
+    log.debug("MozLoopService: Initializing with already logged-in account");
+    let pushURLs = {
+      calls: MozLoopServiceInternal.pushHandler.registeredChannels[this.channelIDs.callsFxA],
+      rooms: MozLoopServiceInternal.pushHandler.registeredChannels[this.channelIDs.roomsFxA]
+    };
+
+    MozLoopServiceInternal.registerWithLoopServer(LOOP_SESSION_TYPE.FXA, pushURLs).then(() => {
+      deferredInitialization.resolve("initialized to logged-in status");
+    }, error => {
+      log.debug("MozLoopService: error logging in using cached auth token");
+      MozLoopServiceInternal.setError("login", error);
+      deferredInitialization.reject("error logging in using cached auth token");
+    });
+    yield completedPromise;
   }),
 
   /**
    * Opens the chat window
    *
    * @param {Object} contentWindow The window to open the chat window in, may
    *                               be null.
    * @param {String} title The title of the chat window.
@@ -1076,35 +1098,20 @@ this.MozLoopService = {
     // be "127" (reserved for localhost).
     let host = Services.prefs.getCharPref("loop.soft_start_hostname");
     let task = this._DNSService.asyncResolve(host,
                                              this._DNSService.RESOLVE_DISABLE_IPV6,
                                              onLookupComplete,
                                              Services.tm.mainThread);
   },
 
-
   /**
-   * Starts registration of Loop with the push server, and then will register
-   * with the Loop server. It will return early if already registered.
-   *
-   * @returns {Promise} a promise that is resolved with no params on completion, or
-   *          rejected with an error code or string.
+   * @see MozLoopServiceInternal.promiseRegisteredWithServers
    */
-  register: function() {
-    log.debug("registering");
-    // Don't do anything if loop is not enabled.
-    if (!Services.prefs.getBoolPref("loop.enabled")) {
-      throw new Error("Loop is not enabled");
-    }
-
-    if (Services.prefs.getBoolPref("loop.throttled")) {
-      throw new Error("Loop is disabled by the soft-start mechanism");
-    }
-
+  promiseRegisteredWithServers: function() {
     return MozLoopServiceInternal.promiseRegisteredWithServers();
   },
 
   /**
    * Used to note a call url expiry time. If the time is later than the current
    * latest expiry time, then the stored expiry time is increased. For times
    * sooner, this function is a no-op; this ensures we always have the latest
    * expiry time for a url.
--- a/browser/components/loop/content/js/panel.js
+++ b/browser/components/loop/content/js/panel.js
@@ -466,42 +466,63 @@ loop.panel = (function(_, mozL10n) {
    * Room list entry.
    */
   var RoomEntry = React.createClass({displayName: 'RoomEntry',
     propTypes: {
       openRoom: React.PropTypes.func.isRequired,
       room:     React.PropTypes.instanceOf(loop.store.Room).isRequired
     },
 
+    getInitialState: function() {
+      return { urlCopied: false };
+    },
+
     shouldComponentUpdate: function(nextProps, nextState) {
-      return nextProps.room.ctime > this.props.room.ctime;
+      return (nextProps.room.ctime > this.props.room.ctime) ||
+        (nextState.urlCopied !== this.state.urlCopied);
     },
 
     handleClickRoom: function(event) {
       event.preventDefault();
       this.props.openRoom(this.props.room);
     },
 
+    handleCopyButtonClick: function(event) {
+      event.preventDefault();
+      navigator.mozLoop.copyString(this.props.room.roomUrl);
+      this.setState({urlCopied: true});
+    },
+
+    handleMouseLeave: function(event) {
+      this.setState({urlCopied: false});
+    },
+
     _isActive: function() {
       // XXX bug 1074679 will implement this properly
       return this.props.room.currSize > 0;
     },
 
     render: function() {
       var room = this.props.room;
       var roomClasses = React.addons.classSet({
         "room-entry": true,
         "room-active": this._isActive()
       });
+      var copyButtonClasses = React.addons.classSet({
+        'copy-link': true,
+        'checked': this.state.urlCopied
+      });
 
       return (
-        React.DOM.div({className: roomClasses}, 
+        React.DOM.div({className: roomClasses, onMouseLeave: this.handleMouseLeave}, 
           React.DOM.h2(null, 
             React.DOM.span({className: "room-notification"}), 
-            room.roomName
+              room.roomName, 
+            React.DOM.button({className: copyButtonClasses, 
+              onClick: this.handleCopyButtonClick})
           ), 
           React.DOM.p(null, 
             React.DOM.a({ref: "room", href: "#", onClick: this.handleClickRoom}, 
               room.roomUrl
             )
           )
         )
       );
@@ -757,15 +778,16 @@ loop.panel = (function(_, mozL10n) {
 
   return {
     init: init,
     UserIdentity: UserIdentity,
     AuthLink: AuthLink,
     AvailabilityDropdown: AvailabilityDropdown,
     CallUrlResult: CallUrlResult,
     PanelView: PanelView,
+    RoomEntry: RoomEntry,
     RoomList: RoomList,
     SettingsDropdown: SettingsDropdown,
     ToSView: ToSView
   };
 })(_, document.mozL10n);
 
 document.addEventListener('DOMContentLoaded', loop.panel.init);
--- a/browser/components/loop/content/js/panel.jsx
+++ b/browser/components/loop/content/js/panel.jsx
@@ -466,42 +466,63 @@ loop.panel = (function(_, mozL10n) {
    * Room list entry.
    */
   var RoomEntry = React.createClass({
     propTypes: {
       openRoom: React.PropTypes.func.isRequired,
       room:     React.PropTypes.instanceOf(loop.store.Room).isRequired
     },
 
+    getInitialState: function() {
+      return { urlCopied: false };
+    },
+
     shouldComponentUpdate: function(nextProps, nextState) {
-      return nextProps.room.ctime > this.props.room.ctime;
+      return (nextProps.room.ctime > this.props.room.ctime) ||
+        (nextState.urlCopied !== this.state.urlCopied);
     },
 
     handleClickRoom: function(event) {
       event.preventDefault();
       this.props.openRoom(this.props.room);
     },
 
+    handleCopyButtonClick: function(event) {
+      event.preventDefault();
+      navigator.mozLoop.copyString(this.props.room.roomUrl);
+      this.setState({urlCopied: true});
+    },
+
+    handleMouseLeave: function(event) {
+      this.setState({urlCopied: false});
+    },
+
     _isActive: function() {
       // XXX bug 1074679 will implement this properly
       return this.props.room.currSize > 0;
     },
 
     render: function() {
       var room = this.props.room;
       var roomClasses = React.addons.classSet({
         "room-entry": true,
         "room-active": this._isActive()
       });
+      var copyButtonClasses = React.addons.classSet({
+        'copy-link': true,
+        'checked': this.state.urlCopied
+      });
 
       return (
-        <div className={roomClasses}>
+        <div className={roomClasses} onMouseLeave={this.handleMouseLeave}>
           <h2>
             <span className="room-notification" />
-            {room.roomName}
+              {room.roomName}
+            <button className={copyButtonClasses}
+              onClick={this.handleCopyButtonClick}/>
           </h2>
           <p>
             <a ref="room" href="#" onClick={this.handleClickRoom}>
               {room.roomUrl}
             </a>
           </p>
         </div>
       );
@@ -757,15 +778,16 @@ loop.panel = (function(_, mozL10n) {
 
   return {
     init: init,
     UserIdentity: UserIdentity,
     AuthLink: AuthLink,
     AvailabilityDropdown: AvailabilityDropdown,
     CallUrlResult: CallUrlResult,
     PanelView: PanelView,
+    RoomEntry: RoomEntry,
     RoomList: RoomList,
     SettingsDropdown: SettingsDropdown,
     ToSView: ToSView
   };
 })(_, document.mozL10n);
 
 document.addEventListener('DOMContentLoaded', loop.panel.init);
--- a/browser/components/loop/content/shared/css/conversation.css
+++ b/browser/components/loop/content/shared/css/conversation.css
@@ -74,28 +74,29 @@
 }
 
   .standalone-conversation-toolbar-media-btn:hover {
     background-color: rgba(255,255,255,.35);
   }
 
 .fx-embedded-answer-btn-text {
   vertical-align: bottom;
-  /* don't stretch the button if the localized text is too big */
-  max-width: 80%;
+  /* always leave space for the icon (width and margin) */
+  max-width: calc(100% - .8rem - .2rem);
 }
 
 .fx-embedded-btn-icon-video,
 .fx-embedded-btn-icon-audio {
   display: inline-block;
   vertical-align: top;
   width: .8rem;
   height: .8rem;
   background-repeat: no-repeat;
   cursor: pointer;
+  -moz-margin-start: .2rem;
 }
 
 .fx-embedded-btn-icon-video,
 .fx-embedded-btn-video-small,
 .fx-embedded-tiny-video-icon {
   background-image: url("../img/video-inverse-14x14.png");
 }
 
--- a/browser/components/loop/content/shared/css/panel.css
+++ b/browser/components/loop/content/shared/css/panel.css
@@ -197,16 +197,59 @@ body {
   text-decoration: none;
 }
 
 .room-list > .room-entry > p > a:hover {
   opacity: 1;
   text-decoration: underline;
 }
 
+.room-list > .room-entry > h2 > .copy-link {
+  display: inline-block;
+  width: 24px;
+  height: 24px;
+  border: none;
+  margin: .1em .5em; /* relative to _this_ line's font, not the document's */
+  background-color: transparent;  /* override browser default for button tags */
+}
+
+@keyframes drop-and-fade-in {
+  from { opacity: 0; transform: translateY(-10px); }
+  to { opacity: 100; transform: translateY(0); }
+}
+
+.room-list > .room-entry:hover > h2 > .copy-link {
+  background: transparent url(../img/svg/copy-16x16.svg);
+  cursor: pointer;
+  animation: drop-and-fade-in 0.4s;
+  animation-fill-mode: forwards;
+}
+
+/* scale this up to 1.1x and then back to the original size */
+@keyframes pulse {
+  0%, 100% { transform: scale(1.0); }
+  50% { transform: scale(1.1); }
+}
+
+.room-list > .room-entry > h2 > .copy-link.checked {
+  background: transparent url(../img/svg/checkmark-16x16.svg);
+  animation: pulse .250s;
+  animation-timing-function: ease-in-out;
+}
+
+.room-list > .room-entry > h2 {
+  display: inline-block;
+}
+
+/* keep the various room-entry row pieces aligned with each other */
+.room-list > .room-entry > h2 > button,
+.room-list > .room-entry > h2 > span {
+  vertical-align: middle;
+}
+
 /* Buttons */
 
 .button-group {
   display: flex;
   flex-direction: row;
   width: 100%;
 }
 
new file mode 100644
--- /dev/null
+++ b/browser/components/loop/content/shared/img/svg/checkmark-16x16.svg
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 18.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg"
+     xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+     viewBox="0 0 16 16" enable-background="new 0 0 16 16" xml:space="preserve">
+  <circle fill-rule="evenodd" clip-rule="evenodd" fill="#0096DD" cx="8"
+          cy="8" r="8"/>
+  <path fill-rule="evenodd" clip-rule="evenodd" fill="#FFFFFF"
+        d="M7.236,12L12,5.007L10.956,4L7.224,9.465l-2.14-2.326L4,8.146L7.236,12z"/>
+</svg>
new file mode 100644
--- /dev/null
+++ b/browser/components/loop/content/shared/img/svg/copy-16x16.svg
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 18.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg"
+     xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+     viewBox="0 0 16 16" enable-background="new 0 0 16 16" xml:space="preserve">
+  <circle fill-rule="evenodd" clip-rule="evenodd" fill="#0096DD" cx="8" cy="8"
+           r="8"/>
+  <g>
+    <g>
+      <g>
+        <path fill-rule="evenodd" clip-rule="evenodd" fill="none"
+              stroke="#FFFFFF" stroke-width="0.75" stroke-miterlimit="10"
+              d="M10.815,6.286H7.556c-0.164,0-0.296,0.128-0.296,0.286v5.143C7.259,11.872,7.392,12,7.556,12h4.148
+                 C11.867,12,12,11.872,12,11.714V7.429L10.815,6.286z
+                 M8.741,6.275V5.143L7.556,4H7.528C6.509,4,4.593,4,4.593,4H4.296
+                 C4.133,4,4,4.128,4,4.286v5.143c0,0.158,0.133,0.286,0.296,0.286H7.25V6.561c0-0.158,0.133-0.286,0.296-0.286H8.741z"/>
+      </g>
+    </g>
+    <g>
+      <polygon fill-rule="evenodd" clip-rule="evenodd"
+               fill="#FFFFFF" points="10.222,8 10.222,6.857 11.407,8"/>
+    </g>
+    <g>
+      <polygon fill-rule="evenodd" clip-rule="evenodd" fill="#FFFFFF"
+               points="6.963,5.714 6.963,4.571 8.148,5.714"/>
+    </g>
+  </g>
+</svg>
new file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..79bc8345dfe16f64d6a7f473105e65ed0134aaf0
GIT binary patch
literal 13298
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
--- a/browser/components/loop/jar.mn
+++ b/browser/components/loop/jar.mn
@@ -43,16 +43,18 @@ browser.jar:
   content/browser/loop/shared/img/video-inverse-14x14.png       (content/shared/img/video-inverse-14x14.png)
   content/browser/loop/shared/img/video-inverse-14x14@2x.png    (content/shared/img/video-inverse-14x14@2x.png)
   content/browser/loop/shared/img/dropdown-inverse.png          (content/shared/img/dropdown-inverse.png)
   content/browser/loop/shared/img/dropdown-inverse@2x.png       (content/shared/img/dropdown-inverse@2x.png)
   content/browser/loop/shared/img/svg/glyph-settings-16x16.svg  (content/shared/img/svg/glyph-settings-16x16.svg)
   content/browser/loop/shared/img/svg/glyph-account-16x16.svg   (content/shared/img/svg/glyph-account-16x16.svg)
   content/browser/loop/shared/img/svg/glyph-signin-16x16.svg    (content/shared/img/svg/glyph-signin-16x16.svg)
   content/browser/loop/shared/img/svg/glyph-signout-16x16.svg   (content/shared/img/svg/glyph-signout-16x16.svg)
+  content/browser/loop/shared/img/svg/copy-16x16.svg            (content/shared/img/svg/copy-16x16.svg)
+  content/browser/loop/shared/img/svg/checkmark-16x16.svg       (content/shared/img/svg/checkmark-16x16.svg)
   content/browser/loop/shared/img/audio-call-avatar.svg         (content/shared/img/audio-call-avatar.svg)
   content/browser/loop/shared/img/beta-ribbon.svg               (content/shared/img/beta-ribbon.svg)
   content/browser/loop/shared/img/icons-10x10.svg               (content/shared/img/icons-10x10.svg)
   content/browser/loop/shared/img/icons-14x14.svg               (content/shared/img/icons-14x14.svg)
   content/browser/loop/shared/img/icons-16x16.svg               (content/shared/img/icons-16x16.svg)
 
   # Shared scripts
   content/browser/loop/shared/js/actions.js           (content/shared/js/actions.js)
--- a/browser/components/loop/standalone/content/js/webapp.js
+++ b/browser/components/loop/standalone/content/js/webapp.js
@@ -259,17 +259,16 @@ loop.webapp = (function($, _, OT, mozL10
         )
       );
     }
   });
 
   var PendingConversationView = React.createClass({displayName: 'PendingConversationView',
     mixins: [sharedMixins.AudioMixin],
 
-
     getInitialState: function() {
       return {
         callState: "connecting"
       };
     },
 
     propTypes: {
       websocket: React.PropTypes.instanceOf(loop.CallConnectionWebSocket)
@@ -566,16 +565,22 @@ loop.webapp = (function($, _, OT, mozL10
         InitiateConversationView({
           title: mozL10n.get("initiate_call_button_label2"), 
           callButtonLabel: mozL10n.get("initiate_audio_video_call_button2")})
       );
     }
   });
 
   var FailedConversationView = React.createClass({displayName: 'FailedConversationView',
+    mixins: [sharedMixins.AudioMixin],
+
+    componentDidMount: function() {
+      this.play("failure");
+    },
+
     render: function() {
       document.title = mozL10n.get("standalone_title_with_status",
                                    {clientShortname: mozL10n.get("clientShortname2"),
                                     currentStatus: mozL10n.get("status_error")});
       return this.transferPropsTo(
         InitiateConversationView({
           title: mozL10n.get("call_failed_title"), 
           callButtonLabel: mozL10n.get("retry_call_button")})
--- a/browser/components/loop/standalone/content/js/webapp.jsx
+++ b/browser/components/loop/standalone/content/js/webapp.jsx
@@ -259,17 +259,16 @@ loop.webapp = (function($, _, OT, mozL10
         </div>
       );
     }
   });
 
   var PendingConversationView = React.createClass({
     mixins: [sharedMixins.AudioMixin],
 
-
     getInitialState: function() {
       return {
         callState: "connecting"
       };
     },
 
     propTypes: {
       websocket: React.PropTypes.instanceOf(loop.CallConnectionWebSocket)
@@ -566,16 +565,22 @@ loop.webapp = (function($, _, OT, mozL10
         <InitiateConversationView
           title={mozL10n.get("initiate_call_button_label2")}
           callButtonLabel={mozL10n.get("initiate_audio_video_call_button2")} />
       );
     }
   });
 
   var FailedConversationView = React.createClass({
+    mixins: [sharedMixins.AudioMixin],
+
+    componentDidMount: function() {
+      this.play("failure");
+    },
+
     render: function() {
       document.title = mozL10n.get("standalone_title_with_status",
                                    {clientShortname: mozL10n.get("clientShortname2"),
                                     currentStatus: mozL10n.get("status_error")});
       return this.transferPropsTo(
         <InitiateConversationView
           title={mozL10n.get("call_failed_title")}
           callButtonLabel={mozL10n.get("retry_call_button")} />
--- a/browser/components/loop/test/desktop-local/panel_test.js
+++ b/browser/components/loop/test/desktop-local/panel_test.js
@@ -632,16 +632,82 @@ describe("loop.panel", function() {
 
         sinon.assert.calledOnce(notifications.errorL10n);
         sinon.assert.calledWithExactly(notifications.errorL10n,
                                        "unable_retrieve_url");
       });
     });
   });
 
+  describe("loop.panel.RoomEntry", function() {
+    var buttonNode, roomData, roomEntry, roomStore, dispatcher;
+
+    beforeEach(function() {
+      dispatcher = new loop.Dispatcher();
+      roomData = {
+        roomToken: "QzBbvGmIZWU",
+        roomUrl: "http://sample/QzBbvGmIZWU",
+        roomName: "Second Room Name",
+        maxSize: 2,
+        participants: [
+          { displayName: "Alexis", account: "alexis@example.com",
+            roomConnectionId: "2a1787a6-4a73-43b5-ae3e-906ec1e763cb" },
+          { displayName: "Adam",
+            roomConnectionId: "781f012b-f1ea-4ce1-9105-7cfc36fb4ec7" }
+        ],
+        ctime: 1405517418
+      };
+      roomStore = new loop.store.Room(roomData);
+      roomEntry = mountRoomEntry();
+      buttonNode = roomEntry.getDOMNode().querySelector("button.copy-link");
+    });
+
+    function mountRoomEntry() {
+      return TestUtils.renderIntoDocument(loop.panel.RoomEntry({
+        openRoom: sandbox.stub(),
+        room: roomStore
+      }));
+    }
+
+    it("should not display copy-link button by default", function() {
+      expect(buttonNode).to.not.equal(null);
+    });
+
+    it("should copy the URL when the click event fires", function() {
+      TestUtils.Simulate.click(buttonNode);
+
+      sinon.assert.calledOnce(navigator.mozLoop.copyString);
+      sinon.assert.calledWithExactly(navigator.mozLoop.copyString,
+        roomData.roomUrl);
+    });
+
+    it("should set state.urlCopied when the click event fires", function() {
+      TestUtils.Simulate.click(buttonNode);
+
+      expect(roomEntry.state.urlCopied).to.equal(true);
+    });
+
+    it("should switch to displaying a check icon when the URL has been copied",
+      function() {
+        TestUtils.Simulate.click(buttonNode);
+
+        expect(buttonNode.classList.contains("checked")).eql(true);
+      });
+
+    it("should not display a check icon after mouse leaves the entry",
+      function() {
+        var roomNode = roomEntry.getDOMNode();
+        TestUtils.Simulate.click(buttonNode);
+
+        TestUtils.SimulateNative.mouseOut(roomNode);
+
+        expect(buttonNode.classList.contains("checked")).eql(false);
+      });
+  });
+
   describe("loop.panel.RoomList", function() {
     var roomListStore, dispatcher;
 
     beforeEach(function() {
       dispatcher = new loop.Dispatcher();
       roomListStore = new loop.store.RoomListStore({
         dispatcher: dispatcher,
         mozLoop: navigator.mozLoop
--- a/browser/components/loop/test/mochitest/browser.ini
+++ b/browser/components/loop/test/mochitest/browser.ini
@@ -1,12 +1,13 @@
 [DEFAULT]
 support-files =
     fixtures/google_auth.txt
     fixtures/google_contacts.txt
+    fixtures/google_groups.txt
     fixtures/google_token.txt
     google_service.sjs
     head.js
     loop_fxa.sjs
     ../../../../base/content/test/general/browser_fxa_oauth.html
 
 [browser_CardDavImporter.js]
 [browser_fxa_login.js]
--- a/browser/components/loop/test/mochitest/browser_GoogleImporter.js
+++ b/browser/components/loop/test/mochitest/browser_GoogleImporter.js
@@ -12,33 +12,32 @@ function promiseImport() {
         reject(err);
       } else {
         resolve(stats);
       }
     }, mockDb, window);
   });
 }
 
-const kContactsCount = 7;
+const kIncomingTotalContactsCount = 8;
+const kExpectedImportCount = 7;
 
 add_task(function* test_GoogleImport() {
   let stats;
   // An error may throw and the test will fail when that happens.
   stats = yield promiseImport();
 
-  let contactsCount = mockDb.size;
-
   // Assert the world.
-  Assert.equal(stats.total, contactsCount, "Five contacts should get processed");
-  Assert.equal(stats.success, contactsCount, "Five contacts should be imported");
+  Assert.equal(stats.total, kIncomingTotalContactsCount, kIncomingTotalContactsCount + " contacts should get processed");
+  Assert.equal(stats.success, kExpectedImportCount, kExpectedImportCount + " contacts should be imported");
 
   yield promiseImport();
-  Assert.equal(Object.keys(mockDb._store).length, contactsCount, "Database should be the same size after reimport");
+  Assert.equal(mockDb.size, kExpectedImportCount, "Database should be the same size after reimport");
 
-  let currentContact = contactsCount;
+  let currentContact = kExpectedImportCount;
 
   let c = mockDb._store[mockDb._next_guid - currentContact];
   Assert.equal(c.name[0], "John Smith", "Full name should match");
   Assert.equal(c.givenName[0], "John", "Given name should match");
   Assert.equal(c.familyName[0], "Smith", "Family name should match");
   Assert.equal(c.email[0].type, "other", "Email type should match");
   Assert.equal(c.email[0].value, "john.smith@example.com", "Email should match");
   Assert.equal(c.email[0].pref, true, "Pref should match");
@@ -91,9 +90,12 @@ add_task(function* test_GoogleImport() {
 
   c = mockDb._store[mockDb._next_guid - (--currentContact)];
   Assert.equal(c.name[0], "215234523452345", "Full name should match");
   Assert.equal(c.tel[0].type, "mobile", "Phone type should match");
   Assert.equal(c.tel[0].value, "215234523452345", "Phone should match");
   Assert.equal(c.tel[0].pref, false, "Pref should match");
   Assert.equal(c.category[0], "google", "Category should match");
   Assert.equal(c.id, "http://www.google.com/m8/feeds/contacts/tester%40mochi.com/base/6", "UID should match and be scoped to provider");
+
+  c = yield mockDb.promise("getByServiceId", "http://www.google.com/m8/feeds/contacts/tester%40mochi.com/base/9");
+  Assert.equal(c, null, "Contacts that are not part of the default group should not be imported");
 });
--- a/browser/components/loop/test/mochitest/browser_fxa_login.js
+++ b/browser/components/loop/test/mochitest/browser_fxa_login.js
@@ -248,17 +248,17 @@ add_task(function* basicAuthorizationAnd
     state: "state",
   };
   yield promiseOAuthParamsSetup(BASE_URL, params);
 
   info("registering");
   mockPushHandler.registrationPushURL = "https://localhost/pushUrl/guest";
   // Notification observed due to the error being cleared upon successful registration.
   let statusChangedPromise = promiseObserverNotified("loop-status-changed");
-  yield MozLoopService.register();
+  yield MozLoopService.promiseRegisteredWithServers();
   yield statusChangedPromise;
 
   // Normally the same pushUrl would be registered but we change it in the test
   // to be able to check for success on the second registration.
   mockPushHandler.registeredChannels[MozLoopService.channelIDs.callsFxA] = "https://localhost/pushUrl/fxa-calls"; 
   mockPushHandler.registeredChannels[MozLoopService.channelIDs.roomsFxA] = "https://localhost/pushUrl/fxa-rooms"; 
 
   statusChangedPromise = promiseObserverNotified("loop-status-changed");
@@ -313,17 +313,17 @@ add_task(function* loginWithParams401() 
     client_id: "client_id",
     content_uri: BASE_URL + "/content",
     oauth_uri: BASE_URL + "/oauth",
     profile_uri: BASE_URL + "/profile",
     state: "state",
     test_error: "params_401",
   };
   yield promiseOAuthParamsSetup(BASE_URL, params);
-  yield MozLoopService.register();
+  yield MozLoopService.promiseRegisteredWithServers();
 
   let loginPromise = MozLoopService.logInToFxA();
   yield loginPromise.then(tokenData => {
     ok(false, "Promise should have rejected");
   },
   error => {
     ise(error.code, 401, "Check error code");
     checkFxAOAuthTokenData(null);
--- a/browser/components/loop/test/mochitest/fixtures/google_contacts.txt
+++ b/browser/components/loop/test/mochitest/fixtures/google_contacts.txt
@@ -29,16 +29,17 @@
     <link href="https://www.google.com/m8/feeds/contacts/tester%40mochi.com/full/0" rel="edit" type="application/atom+xml"/>
     <gd:name>
       <gd:fullName>John Smith</gd:fullName>
       <gd:givenName>John</gd:givenName>
       <gd:familyName>Smith</gd:familyName>
     </gd:name>
     <gd:email address="john.smith@example.com" primary="true" rel="http://schemas.google.com/g/2005#other"/>
     <gContact:website href="http://www.google.com/profiles/109576547678240773721" rel="profile"/>
+    <gContact:groupMembershipInfo deleted="false" href="http://www.google.com/m8/feeds/groups/tester%40mochi.com/base/6"/>
   </entry>
   <entry gd:etag="&quot;R3YyejRVLit7I2A9WhJWEkkNQwc.&quot;">
     <id>http://www.google.com/m8/feeds/contacts/tester%40mochi.com/base/1</id>
     <updated>2012-08-17T23:50:36.892Z</updated>
     <app:edited xmlns:app="http://www.w3.org/2007/app">2012-08-17T23:50:36.892Z</app:edited>
     <category scheme="http://schemas.google.com/g/2005#kind" term="http://schemas.google.com/contact/2008#contact"/>
     <title>Jane Smith</title>
     <link gd:etag="&quot;WA9BY1xFWit7I2BhLEkieCxLHEYTGCYuNxo.&quot;" href="https://www.google.com/m8/feeds/photos/media/tester%40mochi.com/1" rel="http://schemas.google.com/contacts/2008/rel#photo" type="image/*"/>
@@ -46,16 +47,17 @@
     <link href="https://www.google.com/m8/feeds/contacts/tester%40mochi.com/full/1" rel="edit" type="application/atom+xml"/>
     <gd:name>
       <gd:fullName>Jane Smith</gd:fullName>
       <gd:givenName>Jane</gd:givenName>
       <gd:familyName>Smith</gd:familyName>
     </gd:name>
     <gd:email address="jane.smith@example.com" primary="true" rel="http://schemas.google.com/g/2005#other"/>
     <gContact:website href="http://www.google.com/profiles/112886528199784431028" rel="profile"/>
+    <gContact:groupMembershipInfo deleted="false" href="http://www.google.com/m8/feeds/groups/tester%40mochi.com/base/6"/>
   </entry>
   <entry gd:etag="&quot;R3YyejRVLit7I2A9WhJWEkkNQwc.&quot;">
     <id>http://www.google.com/m8/feeds/contacts/tester%40mochi.com/base/2</id>
     <updated>2012-08-17T23:50:36.892Z</updated>
     <app:edited xmlns:app="http://www.w3.org/2007/app">2012-08-17T23:50:36.892Z</app:edited>
     <category scheme="http://schemas.google.com/g/2005#kind" term="http://schemas.google.com/contact/2008#contact"/>
     <title>Davy Randall Jones</title>
     <link gd:etag="&quot;KiV2PkYRfCt7I2BuD1AzEBFxD1VcGjwBUyA.&quot;" href="https://www.google.com/m8/feeds/photos/media/tester%40mochi.com/2" rel="http://schemas.google.com/contacts/2008/rel#photo" type="image/*"/>
@@ -63,55 +65,76 @@
     <link href="https://www.google.com/m8/feeds/contacts/tester%40mochi.com/full/2" rel="edit" type="application/atom+xml"/>
     <gd:name>
       <gd:fullName>Davy Randall Jones</gd:fullName>
       <gd:givenName>Davy Randall</gd:givenName>
       <gd:familyName>Jones</gd:familyName>
     </gd:name>
     <gd:email address="davy.jones@example.com" primary="true" rel="http://schemas.google.com/g/2005#other"/>
     <gContact:website href="http://www.google.com/profiles/109710625881478599011" rel="profile"/>
+    <gContact:groupMembershipInfo deleted="false" href="http://www.google.com/m8/feeds/groups/tester%40mochi.com/base/6"/>
   </entry>
   <entry gd:etag="&quot;Q3w7ezVSLit7I2A9WB5WGUkNRgE.&quot;">
     <id>http://www.google.com/m8/feeds/contacts/tester%40mochi.com/base/3</id>
     <updated>2007-08-01T05:45:52.203Z</updated>
     <app:edited xmlns:app="http://www.w3.org/2007/app">2007-08-01T05:45:52.203Z</app:edited>
     <category scheme="http://schemas.google.com/g/2005#kind" term="http://schemas.google.com/contact/2008#contact"/>
     <title/>
     <link href="https://www.google.com/m8/feeds/photos/media/tester%40mochi.com/3" rel="http://schemas.google.com/contacts/2008/rel#photo" type="image/*"/>
     <link href="https://www.google.com/m8/feeds/contacts/tester%40mochi.com/full/3" rel="self" type="application/atom+xml"/>
     <link href="https://www.google.com/m8/feeds/contacts/tester%40mochi.com/full/3" rel="edit" type="application/atom+xml"/>
     <gd:email address="noname@example.com" primary="true" rel="http://schemas.google.com/g/2005#other"/>
+    <gContact:groupMembershipInfo deleted="false" href="http://www.google.com/m8/feeds/groups/tester%40mochi.com/base/6"/>
   </entry>
   <entry gd:etag="&quot;Q3w7ezVSLit7I2A9WB5WGUkNRgE.&quot;">
     <id>http://www.google.com/m8/feeds/contacts/tester%40mochi.com/base/7</id>
     <updated>2007-08-01T05:45:52.203Z</updated>
     <app:edited xmlns:app="http://www.w3.org/2007/app">2007-08-01T05:45:52.203Z</app:edited>
     <category scheme="http://schemas.google.com/g/2005#kind" term="http://schemas.google.com/contact/2008#contact"/>
     <title/>
     <link href="https://www.google.com/m8/feeds/photos/media/tester%40mochi.com/7" rel="http://schemas.google.com/contacts/2008/rel#photo" type="image/*"/>
     <link href="https://www.google.com/m8/feeds/contacts/tester%40mochi.com/full/7" rel="self" type="application/atom+xml"/>
     <link href="https://www.google.com/m8/feeds/contacts/tester%40mochi.com/full/7" rel="edit" type="application/atom+xml"/>
     <gd:email address="lycnix" primary="true" rel="http://schemas.google.com/g/2005#other"/>
+    <gContact:groupMembershipInfo deleted="false" href="http://www.google.com/m8/feeds/groups/tester%40mochi.com/base/6"/>
   </entry>
   <entry gd:etag="&quot;RXkzfjVSLit7I2A9XRdRGUgITgA.&quot;">
     <id>http://www.google.com/m8/feeds/contacts/tester%40mochi.com/base/8</id>
     <updated>2014-10-10T14:55:44.786Z</updated>
     <app:edited xmlns:app="http://www.w3.org/2007/app">2014-10-10T14:55:44.786Z</app:edited>
     <category scheme="http://schemas.google.com/g/2005#kind" term="http://schemas.google.com/contact/2008#contact"/>
     <title/>
     <link href="https://www.google.com/m8/feeds/photos/media/tester%40mochi.com/8" rel="http://schemas.google.com/contacts/2008/rel#photo" type="image/*"/>
     <link href="https://www.google.com/m8/feeds/contacts/tester%40mochi.com/full/8" rel="self" type="application/atom+xml"/>
     <link href="https://www.google.com/m8/feeds/contacts/tester%40mochi.com/full/8" rel="edit" type="application/atom+xml"/>
     <gd:phoneNumber rel="http://schemas.google.com/g/2005#mobile" uri="tel:+31-6-12345678">0612345678</gd:phoneNumber>
+    <gContact:groupMembershipInfo deleted="false" href="http://www.google.com/m8/feeds/groups/tester%40mochi.com/base/6"/>
   </entry>
   <entry gd:etag="&quot;SX8-ejVSLit7I2A9XRdQFUkDRgY.&quot;">
     <id>http://www.google.com/m8/feeds/contacts/tester%40mochi.com/base/6</id>
     <updated>2014-10-17T12:32:08.152Z</updated>
     <app:edited xmlns:app="http://www.w3.org/2007/app">2014-10-17T12:32:08.152Z</app:edited>
     <category scheme="http://schemas.google.com/g/2005#kind" term="http://schemas.google.com/contact/2008#contact"/>
     <title/>
     <link href="https://www.google.com/m8/feeds/photos/media/tester%40mochi.com/6" rel="http://schemas.google.com/contacts/2008/rel#photo" type="image/*"/>
     <link href="https://www.google.com/m8/feeds/contacts/tester%40mochi.com/full/6" rel="self" type="application/atom+xml"/>
     <link href="https://www.google.com/m8/feeds/contacts/tester%40mochi.com/full/6" rel="edit" type="application/atom+xml"/>
     <gd:phoneNumber rel="http://schemas.google.com/g/2005#mobile">215234523452345</gd:phoneNumber>
     <gContact:groupMembershipInfo deleted="false" href="http://www.google.com/m8/feeds/groups/tester%40mochi.com/base/6"/>
   </entry>
+  <entry gd:etag="&quot;Rn8zejVSLit7I2A9WhVRFUQOQQc.&quot;">
+    <id>http://www.google.com/m8/feeds/contacts/tester%40mochi.com/base/9</id>
+    <updated>2012-03-24T13:10:37.182Z</updated>
+    <app:edited xmlns:app="http://www.w3.org/2007/app">2012-03-24T13:10:37.182Z</app:edited>
+    <category scheme="http://schemas.google.com/g/2005#kind" term="http://schemas.google.com/contact/2008#contact"/>
+    <title>Little Smith</title>
+    <link href="https://www.google.com/m8/feeds/photos/media/tester%40mochi.com/9" rel="http://schemas.google.com/contacts/2008/rel#photo" type="image/*"/>
+    <link href="https://www.google.com/m8/feeds/contacts/tester%40mochi.com/full/9" rel="self" type="application/atom+xml"/>
+    <link href="https://www.google.com/m8/feeds/contacts/tester%40mochi.com/full/9" rel="edit" type="application/atom+xml"/>
+    <gd:name>
+      <gd:fullName>Little Smith</gd:fullName>
+      <gd:givenName>Little</gd:givenName>
+      <gd:familyName>Smith</gd:familyName>
+    </gd:name>
+    <gd:email address="littlebabysmith@example.com" primary="true" rel="http://schemas.google.com/g/2005#other"/>
+    <gContact:website href="http://www.google.com/profiles/111456826635924971693" rel="profile"/>
+  </entry>
 </feed>
new file mode 100644
--- /dev/null
+++ b/browser/components/loop/test/mochitest/fixtures/google_groups.txt
@@ -0,0 +1,56 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<feed gd:etag="W/&quot;CEIAQngzfyt7I2A9XRdXFEQ.&quot;" xmlns="http://www.w3.org/2005/Atom" xmlns:batch="http://schemas.google.com/gdata/batch" xmlns:gContact="http://schemas.google.com/contact/2008" xmlns:gd="http://schemas.google.com/g/2005" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/">
+  <id>tester@mochi.com</id>
+  <updated>2014-10-28T10:35:43.687Z</updated>
+  <category scheme="http://schemas.google.com/g/2005#kind" term="http://schemas.google.com/contact/2008#group"/>
+  <title>Mochi Tester's Contact Groups</title>
+  <link href="http://www.google.com/" rel="alternate" type="text/html"/>
+  <link href="https://www.google.com/m8/feeds/groups/tester%40mochi.com/full" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml"/>
+  <link href="https://www.google.com/m8/feeds/groups/tester%40mochi.com/full" rel="http://schemas.google.com/g/2005#post" type="application/atom+xml"/>
+  <link href="https://www.google.com/m8/feeds/groups/tester%40mochi.com/full/batch" rel="http://schemas.google.com/g/2005#batch" type="application/atom+xml"/>
+  <link href="https://www.google.com/m8/feeds/groups/tester%40mochi.com/full?max-results=10000000" rel="self" type="application/atom+xml"/>
+  <author>
+    <name>Mochi Tester</name>
+    <email>tester@mochi.com</email>
+  </author>
+  <generator uri="http://www.google.com/m8/feeds" version="1.0">Contacts</generator>
+  <openSearch:totalResults>4</openSearch:totalResults>
+  <openSearch:startIndex>1</openSearch:startIndex>
+  <openSearch:itemsPerPage>10000000</openSearch:itemsPerPage>
+  <entry gd:etag="&quot;YDwreyM.&quot;">
+    <id>http://www.google.com/m8/feeds/groups/tester%40mochi.com/base/6</id>
+    <updated>1970-01-01T00:00:00.000Z</updated>
+    <category scheme="http://schemas.google.com/g/2005#kind" term="http://schemas.google.com/contact/2008#group"/>
+    <title>System Group: My Contacts</title>
+    <content>System Group: My Contacts</content>
+    <link href="https://www.google.com/m8/feeds/groups/tester%40mochi.com/full/6" rel="self" type="application/atom+xml"/>
+    <gContact:systemGroup id="Contacts"/>
+  </entry>
+  <entry gd:etag="&quot;YDwreyM.&quot;">
+    <id>http://www.google.com/m8/feeds/groups/tester%40mochi.com/base/d</id>
+    <updated>1970-01-01T00:00:00.000Z</updated>
+    <category scheme="http://schemas.google.com/g/2005#kind" term="http://schemas.google.com/contact/2008#group"/>
+    <title>System Group: Friends</title>
+    <content>System Group: Friends</content>
+    <link href="https://www.google.com/m8/feeds/groups/tester%40mochi.com/full/d" rel="self" type="application/atom+xml"/>
+    <gContact:systemGroup id="Friends"/>
+  </entry>
+  <entry gd:etag="&quot;YDwreyM.&quot;">
+    <id>http://www.google.com/m8/feeds/groups/tester%40mochi.com/base/e</id>
+    <updated>1970-01-01T00:00:00.000Z</updated>
+    <category scheme="http://schemas.google.com/g/2005#kind" term="http://schemas.google.com/contact/2008#group"/>
+    <title>System Group: Family</title>
+    <content>System Group: Family</content>
+    <link href="https://www.google.com/m8/feeds/groups/tester%40mochi.com/full/e" rel="self" type="application/atom+xml"/>
+    <gContact:systemGroup id="Family"/>
+  </entry>
+  <entry gd:etag="&quot;YDwreyM.&quot;">
+    <id>http://www.google.com/m8/feeds/groups/tester%40mochi.com/base/f</id>
+    <updated>1970-01-01T00:00:00.000Z</updated>
+    <category scheme="http://schemas.google.com/g/2005#kind" term="http://schemas.google.com/contact/2008#group"/>
+    <title>System Group: Coworkers</title>
+    <content>System Group: Coworkers</content>
+    <link href="https://www.google.com/m8/feeds/groups/tester%40mochi.com/full/f" rel="self" type="application/atom+xml"/>
+    <gContact:systemGroup id="Coworkers"/>
+  </entry>
+</feed>
--- a/browser/components/loop/test/mochitest/google_service.sjs
+++ b/browser/components/loop/test/mochitest/google_service.sjs
@@ -138,10 +138,20 @@ const methodHandlers = {
     try {
       checkAuth(req);
     } catch (ex) {
       sendError(res, ex, ex.code);
       return;
     }
 
     respondWithFile(res, "google_contacts.txt", "text/xml");
+  },
+
+  groups: function(req, res, params) {
+    try {
+      checkAuth(req);
+    } catch (ex) {
+      sendError(res, ex, ex.code);
+    }
+
+    respondWithFile(res, "google_groups.txt", "text/xml");
   }
 };
--- a/browser/components/loop/test/standalone/webapp_test.js
+++ b/browser/components/loop/test/standalone/webapp_test.js
@@ -496,16 +496,51 @@ describe("loop.webapp", function() {
 
                 sinon.assert.calledOnce(conversation.outgoing);
                 sinon.assert.calledWithExactly(conversation.outgoing, fakeSessionData);
               });
           });
         });
       });
     });
+
+    describe("FailedConversationView", function() {
+      var view, conversation, client, fakeAudio;
+
+      beforeEach(function() {
+        fakeAudio = {
+          play: sinon.spy(),
+          pause: sinon.spy(),
+          removeAttribute: sinon.spy()
+        };
+        sandbox.stub(window, "Audio").returns(fakeAudio);
+
+        client = new loop.StandaloneClient({
+          baseServerUrl: "http://fake.example.com"
+        });
+        conversation = new sharedModels.ConversationModel({}, {
+          sdk: {}
+        });
+        conversation.set("loopToken", "fakeToken");
+
+        view = React.addons.TestUtils.renderIntoDocument(
+          loop.webapp.FailedConversationView({
+            conversation: conversation,
+            client: client,
+            notifications: notifications
+          }));
+      });
+
+      it("should play a failure sound, once", function() {
+        sinon.assert.calledOnce(window.Audio);
+        sinon.assert.calledWithExactly(window.Audio,
+                                       "shared/sounds/failure.ogg");
+        expect(fakeAudio.loop).to.equal(false);
+      });
+    });
   });
 
   describe("WebappRootView", function() {
     var helper, sdk, conversationModel, client, props;
 
     function mountTestComponent() {
       return TestUtils.renderIntoDocument(
         loop.webapp.WebappRootView({
--- a/browser/components/loop/test/xpcshell/head.js
+++ b/browser/components/loop/test/xpcshell/head.js
@@ -26,16 +26,21 @@ const kUAID = "f47ac11b-58ca-4372-9567-0
 
 // Fake loop server
 var loopServer;
 
 // Ensure loop is always enabled for tests
 Services.prefs.setBoolPref("loop.enabled", true);
 Services.prefs.setBoolPref("loop.throttled", false);
 
+// Cleanup function for all tests
+do_register_cleanup(() => {
+  MozLoopService.errors.clear();
+});
+
 function setupFakeLoopServer() {
   loopServer = new HttpServer();
   loopServer.start(-1);
 
   Services.prefs.setCharPref("services.push.serverURL", kServerPushUrl);
 
   Services.prefs.setCharPref("loop.server",
     "http://localhost:" + loopServer.identity.primaryPort);
--- a/browser/components/loop/test/xpcshell/test_looprooms.js
+++ b/browser/components/loop/test/xpcshell/test_looprooms.js
@@ -130,27 +130,27 @@ const normalizeRoom = function(room) {
   return room;
 };
 
 const compareRooms = function(room1, room2) {
   Assert.deepEqual(normalizeRoom(room1), normalizeRoom(room2));
 };
 
 add_task(function* test_getAllRooms() {
-  yield MozLoopService.register(mockPushHandler);
+  yield MozLoopService.promiseRegisteredWithServers();
 
   let rooms = yield LoopRooms.promise("getAll");
   Assert.equal(rooms.length, 3);
   for (let room of rooms) {
     compareRooms(kRooms.get(room.roomToken), room);
   }
 });
 
 add_task(function* test_getRoom() {
-  yield MozLoopService.register(mockPushHandler);
+  yield MozLoopService.promiseRegisteredWithServers();
 
   let roomToken = "_nxD4V4FflQ";
   let room = yield LoopRooms.promise("get", roomToken);
   Assert.deepEqual(room, kRooms.get(roomToken));
 });
 
 add_task(function* test_errorStates() {
   yield Assert.rejects(LoopRooms.promise("get", "error401"), /Not Found/, "Fetching a non-existent room should fail");
--- a/browser/components/loop/test/xpcshell/test_loopservice_busy.js
+++ b/browser/components/loop/test/xpcshell/test_loopservice_busy.js
@@ -19,17 +19,17 @@ let msgHandler = function(msg) {
       msg.reason === "busy") {
     actionReceived = true;
   }
 };
 
 add_test(function test_busy_2guest_calls() {
   actionReceived = false;
 
-  MozLoopService.register().then(() => {
+  MozLoopService.promiseRegisteredWithServers().then(() => {
     let opened = 0;
     Chat.open = function() {
       opened++;
     };
 
     mockPushHandler.notify(1, MozLoopService.channelIDs.callsGuest);
 
     waitForCondition(() => {return actionReceived && opened > 0}).then(() => {
@@ -42,17 +42,17 @@ add_test(function test_busy_2guest_calls
     });
 
   });
 });
 
 add_test(function test_busy_1fxa_1guest_calls() {
   actionReceived = false;
 
-  MozLoopService.register().then(() => {
+  MozLoopService.promiseRegisteredWithServers().then(() => {
     let opened = 0;
     Chat.open = function() {
       opened++;
     };
 
     mockPushHandler.notify(1, MozLoopService.channelIDs.callsFxA);
     mockPushHandler.notify(1, MozLoopService.channelIDs.callsGuest);
 
@@ -66,17 +66,17 @@ add_test(function test_busy_1fxa_1guest_
     });
 
   });
 });
 
 add_test(function test_busy_2fxa_calls() {
   actionReceived = false;
 
-  MozLoopService.register().then(() => {
+  MozLoopService.promiseRegisteredWithServers().then(() => {
     let opened = 0;
     Chat.open = function() {
       opened++;
     };
 
     mockPushHandler.notify(1, MozLoopService.channelIDs.callsFxA);
 
     waitForCondition(() => {return actionReceived && opened > 0}).then(() => {
@@ -89,17 +89,17 @@ add_test(function test_busy_2fxa_calls()
     });
 
   });
 });
 
 add_test(function test_busy_1guest_1fxa_calls() {
   actionReceived = false;
 
-  MozLoopService.register().then(() => {
+  MozLoopService.promiseRegisteredWithServers().then(() => {
     let opened = 0;
     Chat.open = function() {
       opened++;
     };
 
     mockPushHandler.notify(1, MozLoopService.channelIDs.callsGuest);
     mockPushHandler.notify(1, MozLoopService.channelIDs.callsFxA);
 
--- a/browser/components/loop/test/xpcshell/test_loopservice_dnd.js
+++ b/browser/components/loop/test/xpcshell/test_loopservice_dnd.js
@@ -26,17 +26,17 @@ add_test(function test_set_do_not_distur
   do_check_true(Services.prefs.getBoolPref("loop.do_not_disturb"));
 
   run_next_test();
 });
 
 add_test(function test_do_not_disturb_disabled_should_open_chat_window() {
   MozLoopService.doNotDisturb = false;
 
-  MozLoopService.register().then(() => {
+  MozLoopService.promiseRegisteredWithServers().then(() => {
     let opened = false;
     Chat.open = function() {
       opened = true;
     };
 
     mockPushHandler.notify(1, MozLoopService.channelIDs.callsGuest);
 
     waitForCondition(function() opened).then(() => {
--- a/browser/components/loop/test/xpcshell/test_loopservice_initialize.js
+++ b/browser/components/loop/test/xpcshell/test_loopservice_initialize.js
@@ -1,12 +1,12 @@
 /* Any copyright is dedicated to the Public Domain.
    http://creativecommons.org/publicdomain/zero/1.0/ */
 
-var startTimerCalled = false;
+let startTimerCalled = false;
 
 /**
  * Tests that registration doesn't happen when the expiry time is
  * not set.
  */
 add_task(function test_initialize_no_expiry() {
   startTimerCalled = false;
 
@@ -18,44 +18,43 @@ add_task(function test_initialize_no_exp
 });
 
 /**
  * Tests that registration doesn't happen when the expiry time is
  * in the past.
  */
 add_task(function test_initialize_expiry_past() {
   // Set time to be 2 seconds in the past.
-  var nowSeconds = Date.now() / 1000;
+  let nowSeconds = Date.now() / 1000;
   Services.prefs.setIntPref("loop.urlsExpiryTimeSeconds", nowSeconds - 2);
   startTimerCalled = false;
 
   MozLoopService.initialize();
 
   Assert.equal(startTimerCalled, false,
     "should not register when expiry time is in past");
 });
 
 /**
  * Tests that registration happens when the expiry time is in
  * the future.
  */
 add_task(function test_initialize_starts_timer() {
   // Set time to be 1 minute in the future
-  var nowSeconds = Date.now() / 1000;
+  let nowSeconds = Date.now() / 1000;
   Services.prefs.setIntPref("loop.urlsExpiryTimeSeconds", nowSeconds + 60);
   startTimerCalled = false;
 
   MozLoopService.initialize();
 
   Assert.equal(startTimerCalled, true,
     "should start the timer when expiry time is in the future");
 });
 
-function run_test()
-{
+function run_test() {
   setupFakeLoopServer();
 
   // Override MozLoopService's initializeTimer, so that we can verify the timeout is called
   // correctly.
   MozLoopService.initializeTimerFunc = function() {
     startTimerCalled = true;
   };
 
--- a/browser/components/loop/test/xpcshell/test_loopservice_notification.js
+++ b/browser/components/loop/test/xpcshell/test_loopservice_notification.js
@@ -5,17 +5,17 @@
 XPCOMUtils.defineLazyModuleGetter(this, "Chat",
                                   "resource:///modules/Chat.jsm");
 
 let openChatOrig = Chat.open;
 
 add_test(function test_openChatWindow_on_notification() {
   Services.prefs.setCharPref("loop.seenToS", "unseen");
 
-  MozLoopService.register().then(() => {
+  MozLoopService.promiseRegisteredWithServers().then(() => {
     let opened = false;
     Chat.open = function() {
       opened = true;
     };
 
     mockPushHandler.notify(1, MozLoopService.channelIDs.callsGuest);
 
     waitForCondition(function() opened).then(() => {
--- a/browser/components/loop/test/xpcshell/test_loopservice_registration.js
+++ b/browser/components/loop/test/xpcshell/test_loopservice_registration.js
@@ -12,17 +12,17 @@ Cu.import("resource://services-common/ut
 
 /**
  * Test that the websocket can be fully registered, and that a Loop server
  * failure is reported.
  */
 add_test(function test_register_websocket_success_loop_server_fail() {
   mockPushHandler.registrationResult = "404";
 
-  MozLoopService.register().then(() => {
+  MozLoopService.promiseRegisteredWithServers().then(() => {
     do_throw("should not succeed when loop server registration fails");
   }, (err) => {
     // 404 is an expected failure indicated by the lack of route being set
     // up on the Loop server mock. This is added in the next test.
     Assert.equal(err.message, "404", "Expected no errors in websocket registration");
 
     run_next_test();
   });
@@ -44,17 +44,17 @@ add_test(function test_register_success(
                  "Should send correct calls push url");
     Assert.equal(data.simplePushURLs.rooms, kEndPointUrl,
                  "Should send correct rooms push url");
 
     response.setStatusLine(null, 200, "OK");
     response.processAsync();
     response.finish();
   });
-  MozLoopService.register().then(() => {
+  MozLoopService.promiseRegisteredWithServers().then(() => {
     run_next_test();
   }, err => {
     do_throw("shouldn't error on a successful request");
   });
 });
 
 function run_test() {
   setupFakeLoopServer();
--- a/browser/components/loop/test/xpcshell/test_loopservice_restart.js
+++ b/browser/components/loop/test/xpcshell/test_loopservice_restart.js
@@ -70,31 +70,37 @@ add_task(function test_initialize_with_i
     Assert.ok(false, "Initializing with an invalid token should reject the promise");
   },
   (error) => {
     Assert.equal(MozLoopServiceInternal.pushHandler.pushUrl, kEndPointUrl, "Push URL should match");
     Assert.equal(Services.prefs.getCharPref(LOOP_FXA_TOKEN_PREF), "",
                  "FXA pref should be cleared if token was invalid");
     Assert.equal(Services.prefs.getCharPref(LOOP_FXA_PROFILE_PREF), "",
                  "FXA profile pref should be cleared if token was invalid");
+    Assert.ok(MozLoopServiceInternal.errors.has("login"),
+              "Initialization error should have been reported to UI");
   });
 });
 
 add_task(function test_initialize_with_fxa_token() {
   Services.prefs.setCharPref(LOOP_FXA_PROFILE_PREF, FAKE_FXA_PROFILE);
   Services.prefs.setCharPref(LOOP_FXA_TOKEN_PREF, FAKE_FXA_TOKEN_DATA);
+
+  MozLoopService.errors.clear();
+
   loopServer.registerPathHandler("/registration", (request, response) => {
     response.setStatusLine(null, 200, "OK");
   });
 
   yield MozLoopService.initialize().then(() => {
     Assert.equal(Services.prefs.getCharPref(LOOP_FXA_TOKEN_PREF), FAKE_FXA_TOKEN_DATA,
                  "FXA pref should still be set after initialization");
     Assert.equal(Services.prefs.getCharPref(LOOP_FXA_PROFILE_PREF), FAKE_FXA_PROFILE,
                  "FXA profile should still be set after initialization");
+    Assert.ok(!MozLoopServiceInternal.errors.has("login"), "Initialization error should not exist");
   });
 });
 
 function run_test() {
   setupFakeLoopServer();
   // Note, this is just used to speed up the test.
   Services.prefs.setIntPref(LOOP_INITIAL_DELAY_PREF, 0);
   MozLoopServiceInternal.mocks.pushHandler = mockPushHandler;
--- a/browser/components/loop/test/xpcshell/test_loopservice_token_invalid.js
+++ b/browser/components/loop/test/xpcshell/test_loopservice_token_invalid.js
@@ -26,17 +26,17 @@ add_test(function test_registration_inva
       Assert.equal(Services.prefs.prefHasUserValue(LOOP_HAWK_PREF), false);
       response.setStatusLine(null, 200, "OK");
       response.setHeader("Hawk-Session-Token", fakeSessionToken2, false);
     }
     response.processAsync();
     response.finish();
   });
 
-  MozLoopService.register().then(() => {
+  MozLoopService.promiseRegisteredWithServers().then(() => {
     // Due to the way the time stamp checking code works in hawkclient, we expect a couple
     // of authorization requests before we reset the token.
     Assert.equal(authorizationAttempts, 2);
     Assert.equal(Services.prefs.getCharPref(LOOP_HAWK_PREF), fakeSessionToken2);
     run_next_test();
   }, err => {
     do_throw("shouldn't be a failure result: " + err);
   });
--- a/browser/components/loop/test/xpcshell/test_loopservice_token_save.js
+++ b/browser/components/loop/test/xpcshell/test_loopservice_token_save.js
@@ -11,17 +11,17 @@ add_test(function test_registration_retu
 
   loopServer.registerPathHandler("/registration", (request, response) => {
     response.setStatusLine(null, 200, "OK");
     response.setHeader("Hawk-Session-Token", fakeSessionToken, false);
     response.processAsync();
     response.finish();
   });
 
-  MozLoopService.register().then(() => {
+  MozLoopService.promiseRegisteredWithServers().then(() => {
     var hawkSessionPref;
     try {
       hawkSessionPref = Services.prefs.getCharPref("loop.hawk-session-token");
     } catch (ex) {
     }
     Assert.equal(hawkSessionPref, fakeSessionToken, "Should store" +
       " Hawk-Session-Token header contents in loop.hawk-session-token pref");
 
--- a/browser/components/loop/test/xpcshell/test_loopservice_token_send.js
+++ b/browser/components/loop/test/xpcshell/test_loopservice_token_send.js
@@ -19,17 +19,17 @@ add_test(function test_registration_uses
     Assert.notEqual(header.contains("hash="), -1, "Should contain a hash");
     Assert.notEqual(header.contains("mac="), -1, "Should contain a mac");
 
     response.setStatusLine(null, 200, "OK");
     response.processAsync();
     response.finish();
   });
 
-  MozLoopService.register().then(() => {
+  MozLoopService.promiseRegisteredWithServers().then(() => {
     run_next_test();
   }, err => {
     do_throw("shouldn't error on a succesful request");
   });
 });
 
 
 function run_test() {
--- a/browser/components/loop/test/xpcshell/test_loopservice_token_validation.js
+++ b/browser/components/loop/test/xpcshell/test_loopservice_token_validation.js
@@ -11,17 +11,17 @@ add_test(function test_registration_hand
 
   loopServer.registerPathHandler("/registration", (request, response) => {
     response.setStatusLine(null, 200, "OK");
     response.setHeader("Hawk-Session-Token", wrongSizeToken, false);
     response.processAsync();
     response.finish();
   });
 
-  MozLoopService.register().then(() => {
+  MozLoopService.promiseRegisteredWithServers().then(() => {
     do_throw("should not succeed with a bogus token");
   }, err => {
 
     Assert.equal(err, "session-token-wrong-size", "Should cause an error to be" +
       " called back if the session-token is not 64 characters long");
 
     // for some reason, Assert.throw is misbehaving, so....
     var ex;
--- a/browser/components/loop/ui/fake-mozLoop.js
+++ b/browser/components/loop/ui/fake-mozLoop.js
@@ -52,16 +52,17 @@ navigator.mozLoop = {
   getLoopCharPref: function() {},
   getLoopBoolPref: function(pref) {
     // Ensure UI for rooms is displayed in the showcase.
     if (pref === "rooms.enabled") {
       return true;
     }
   },
   releaseCallData: function() {},
+  copyString: function() {},
   contacts: {
     getAll: function(callback) {
       callback(null, []);
     },
     on: function() {}
   },
   rooms: {
     getAll: function(callback) {
--- a/browser/components/sessionstore/ContentRestore.jsm
+++ b/browser/components/sessionstore/ContentRestore.jsm
@@ -154,17 +154,17 @@ ContentRestoreInternal.prototype = {
     if (tabData.storage && this.docShell instanceof Ci.nsIDocShell)
       SessionStorage.restore(this.docShell, tabData.storage);
   },
 
   /**
    * Start loading the current page. When the data has finished loading from the
    * network, finishCallback is called. Returns true if the load was successful.
    */
-  restoreTabContent: function (finishCallback) {
+  restoreTabContent: function (loadArguments, finishCallback) {
     let tabData = this._tabData;
     this._tabData = null;
 
     let webNavigation = this.docShell.QueryInterface(Ci.nsIWebNavigation);
     let history = webNavigation.sessionHistory;
 
     // The reload listener is no longer needed.
     this._historyListener.uninstall();
@@ -183,17 +183,29 @@ ContentRestoreInternal.prototype = {
     this._progressListener = progressListener;
 
     // Reset the current URI to about:blank. We changed it above for
     // switch-to-tab, but now it must go back to the correct value before the
     // load happens.
     webNavigation.setCurrentURI(Utils.makeURI("about:blank"));
 
     try {
-      if (tabData.userTypedValue && tabData.userTypedClear) {
+      if (loadArguments) {
+        // A load has been redirected to a new process so get history into the
+        // same state it was before the load started then trigger the load.
+        let activeIndex = tabData.index - 1;
+        if (activeIndex > 0) {
+          // Go to the right history entry, but don't load anything yet.
+          history.getEntryAtIndex(activeIndex, true);
+        }
+        let referrer = loadArguments.referrer ?
+                       Utils.makeURI(loadArguments.referrer) : null;
+        webNavigation.loadURI(loadArguments.uri, loadArguments.loadFlags,
+                              referrer, null, null);
+      } else if (tabData.userTypedValue && tabData.userTypedClear) {
         // If the user typed a URL into the URL bar and hit enter right before
         // we crashed, we want to start loading that page again. A non-zero
         // userTypedClear value means that the load had started.
         let activeIndex = tabData.index - 1;
         if (activeIndex > 0) {
           // Go to the right history entry, but don't load anything yet.
           history.getEntryAtIndex(activeIndex, true);
         }
--- a/browser/components/sessionstore/SessionHistory.jsm
+++ b/browser/components/sessionstore/SessionHistory.jsm
@@ -62,17 +62,17 @@ let SessionHistoryInternal = {
    *
    * @param docShell
    *        The docShell that owns the session history.
    */
   collect: function (docShell) {
     let data = {entries: []};
     let isPinned = docShell.isAppTab;
     let webNavigation = docShell.QueryInterface(Ci.nsIWebNavigation);
-    let history = webNavigation.sessionHistory;
+    let history = webNavigation.sessionHistory.QueryInterface(Ci.nsISHistoryInternal);
 
     if (history && history.count > 0) {
       let oldest;
       let maxSerializeBack =
         Services.prefs.getIntPref("browser.sessionstore.max_serialize_back");
       if (maxSerializeBack >= 0) {
         oldest = Math.max(0, history.index - maxSerializeBack);
       } else { // History.getEntryAtIndex(0, ...) is the oldest.
@@ -83,27 +83,38 @@ let SessionHistoryInternal = {
       let maxSerializeFwd =
         Services.prefs.getIntPref("browser.sessionstore.max_serialize_forward");
       if (maxSerializeFwd >= 0) {
         newest = Math.min(history.count - 1, history.index + maxSerializeFwd);
       } else { // History.getEntryAtIndex(history.count - 1, ...) is the newest.
         newest = history.count - 1;
       }
 
-      try {
-        for (let i = oldest; i <= newest; i++) {
-          let shEntry = history.getEntryAtIndex(i, false);
-          let entry = this.serializeEntry(shEntry, isPinned);
-          data.entries.push(entry);
-        }
-      } catch (ex) {
-        // In some cases, getEntryAtIndex will throw. This seems to be due to
-        // history.count being higher than it should be. By doing this in a
-        // try-catch, we'll update history to where it breaks, print an error
-        // message, and still save sessionstore.js.
+      // Loop over the transaction linked list directly so we can get the
+      // persist property for each transaction.
+      let txn = history.rootTransaction;
+      let i = 0;
+      while (txn && i < oldest) {
+        txn = txn.next;
+        i++;
+      }
+
+      while (txn && i <= newest) {
+        let shEntry = txn.sHEntry;
+        let entry = this.serializeEntry(shEntry, isPinned);
+        entry.persist = txn.persist;
+        data.entries.push(entry);
+        txn = txn.next;
+        i++;
+      }
+
+      if (i <= newest) {
+        // In some cases, there don't seem to be as many history entries as
+        // history.count claims. we'll save whatever history we can, print an
+        // error message, and still save sessionstore.js.
         debug("SessionStore failed gathering complete history " +
               "for the focused window/tab. See bug 669196.");
       }
 
       // Set the one-based index of the currently active tab,
       // ensuring it isn't out of bounds if an exception was thrown above.
       data.index = Math.min(history.index - oldest + 1, data.entries.length);
     }
@@ -292,21 +303,22 @@ let SessionHistoryInternal = {
     if (history.count > 0) {
       history.PurgeHistory(history.count);
     }
     history.QueryInterface(Ci.nsISHistoryInternal);
 
     let idMap = { used: {} };
     let docIdentMap = {};
     for (let i = 0; i < tabData.entries.length; i++) {
+      let entry = tabData.entries[i];
       //XXXzpao Wallpaper patch for bug 514751
-      if (!tabData.entries[i].url)
+      if (!entry.url)
         continue;
-      history.addEntry(this.deserializeEntry(tabData.entries[i],
-                                             idMap, docIdentMap), true);
+      let persist = "persist" in entry ? entry.persist : true;
+      history.addEntry(this.deserializeEntry(entry, idMap, docIdentMap), persist);
     }
   },
 
   /**
    * Expands serialized history data into a session-history-entry instance.
    *
    * @param entry
    *        Object containing serialized history data for a URL
--- a/browser/components/sessionstore/SessionStore.jsm
+++ b/browser/components/sessionstore/SessionStore.jsm
@@ -187,16 +187,26 @@ this.SessionStore = {
   getTabState: function ss_getTabState(aTab) {
     return SessionStoreInternal.getTabState(aTab);
   },
 
   setTabState: function ss_setTabState(aTab, aState) {
     SessionStoreInternal.setTabState(aTab, aState);
   },
 
+  // This should not be used by external code, the intention is to remove it
+  // once a better fix is in place for process switching in e10s.
+  // See bug 1075658 for context.
+  _restoreTabAndLoad: function ss_restoreTabAndLoad(aTab, aState, aLoadArguments) {
+    SessionStoreInternal.setTabState(aTab, aState, {
+      restoreImmediately: true,
+      loadArguments: aLoadArguments
+    });
+  },
+
   duplicateTab: function ss_duplicateTab(aWindow, aTab, aDelta = 0) {
     return SessionStoreInternal.duplicateTab(aWindow, aTab, aDelta);
   },
 
   getClosedTabCount: function ss_getClosedTabCount(aWindow) {
     return SessionStoreInternal.getClosedTabCount(aWindow);
   },
 
@@ -1567,17 +1577,17 @@ let SessionStoreInternal = {
       throw Components.Exception("Default view is not tracked", Cr.NS_ERROR_INVALID_ARG);
     }
 
     let tabState = TabState.collect(aTab);
 
     return this._toJSONString(tabState);
   },
 
-  setTabState: function ssi_setTabState(aTab, aState) {
+  setTabState: function ssi_setTabState(aTab, aState, aOptions) {
     // Remove the tab state from the cache.
     // Note that we cannot simply replace the contents of the cache
     // as |aState| can be an incomplete state that will be completed
     // by |restoreTabs|.
     let tabState = JSON.parse(aState);
     if (!tabState) {
       throw Components.Exception("Invalid state string: not JSON", Cr.NS_ERROR_INVALID_ARG);
     }
@@ -1592,17 +1602,17 @@ let SessionStoreInternal = {
     if (!("__SSi" in window)) {
       throw Components.Exception("Window is not tracked", Cr.NS_ERROR_INVALID_ARG);
     }
 
     if (aTab.linkedBrowser.__SS_restoreState) {
       this._resetTabRestoringState(aTab);
     }
 
-    this.restoreTab(aTab, tabState);
+    this.restoreTab(aTab, tabState, aOptions);
   },
 
   duplicateTab: function ssi_duplicateTab(aWindow, aTab, aDelta = 0) {
     if (!aTab.ownerDocument.defaultView.__SSi) {
       throw Components.Exception("Default view is not tracked", Cr.NS_ERROR_INVALID_ARG);
     }
     if (!aWindow.getBrowser) {
       throw Components.Exception("Invalid window object: no getBrowser", Cr.NS_ERROR_INVALID_ARG);
@@ -1618,17 +1628,19 @@ let SessionStoreInternal = {
     tabState.index += aDelta;
     tabState.index = Math.max(1, Math.min(tabState.index, tabState.entries.length));
     tabState.pinned = false;
 
     let newTab = aTab == aWindow.gBrowser.selectedTab ?
       aWindow.gBrowser.addTab(null, {relatedToCurrent: true, ownerTab: aTab}) :
       aWindow.gBrowser.addTab();
 
-    this.restoreTab(newTab, tabState, true /* Load this tab right away. */);
+    this.restoreTab(newTab, tabState, {
+      restoreImmediately: true /* Load this tab right away. */
+    });
     return newTab;
   },
 
   getClosedTabCount: function ssi_getClosedTabCount(aWindow) {
     if ("__SSi" in aWindow) {
       return this._windows[aWindow.__SSi]._closedTabs.length;
     }
 
@@ -2522,17 +2534,19 @@ let SessionStoreInternal = {
 
     // Restore all tabs.
     for (let t = 0; t < aTabs.length; t++) {
       this.restoreTab(aTabs[t], aTabData[t]);
     }
   },
 
   // Restores the given tab state for a given tab.
-  restoreTab(tab, tabData, restoreImmediately = false) {
+  restoreTab(tab, tabData, options = {}) {
+    let restoreImmediately = options.restoreImmediately;
+    let loadArguments = options.loadArguments;
     let browser = tab.linkedBrowser;
     let window = tab.ownerDocument.defaultView;
     let tabbrowser = window.gBrowser;
 
     // Increase the busy state counter before modifying the tab.
     this._setWindowStateBusy(window);
 
     // It's important to set the window state to dirty so that
@@ -2590,16 +2604,19 @@ let SessionStoreInternal = {
 
     // Save the index in case we updated it above.
     tabData.index = activeIndex + 1;
 
     // In electrolysis, we may need to change the browser's remote
     // attribute so that it runs in a content process.
     let activePageData = tabData.entries[activeIndex] || null;
     let uri = activePageData ? activePageData.url || null : null;
+    if (loadArguments) {
+      uri = loadArguments.uri;
+    }
     tabbrowser.updateBrowserRemotenessByURL(browser, uri);
 
     // Start a new epoch and include the epoch in the restoreHistory
     // message. If a message is received that relates to a previous epoch, we
     // discard it.
     let epoch = this._nextRestoreEpoch++;
     this._browserEpochs.set(browser.permanentKey, epoch);
 
@@ -2625,18 +2642,18 @@ let SessionStoreInternal = {
 
     // Restore tab attributes.
     if ("attributes" in tabData) {
       TabAttributes.set(tab, tabData.attributes);
     }
 
     // This could cause us to ignore MAX_CONCURRENT_TAB_RESTORES a bit, but
     // it ensures each window will have its selected tab loaded.
-    if (restoreImmediately || tabbrowser.selectedBrowser == browser) {
-      this.restoreTabContent(tab);
+    if (restoreImmediately || tabbrowser.selectedBrowser == browser || loadArguments) {
+      this.restoreTabContent(tab, loadArguments);
     } else {
       TabRestoreQueue.add(tab);
       this.restoreNextTab();
     }
 
     // Decrease the busy state counter after we're done.
     this._setWindowStateReady(window);
   },
@@ -2653,17 +2670,17 @@ let SessionStoreInternal = {
    * restore the next tab. In the other case (selecting the tab, reloading the
    * tab), the caller doesn't actually want to do anything if no page is loaded.
    *
    * @param aTab
    *        the tab to restore
    *
    * @returns true/false indicating whether or not a load actually happened
    */
-  restoreTabContent: function (aTab) {
+  restoreTabContent: function (aTab, aLoadArguments = null) {
     let window = aTab.ownerDocument.defaultView;
     let browser = aTab.linkedBrowser;
     let tabData = browser.__SS_data;
 
     // Make sure that this tab is removed from the priority queue.
     TabRestoreQueue.remove(aTab);
 
     // Increase our internal count.
@@ -2682,17 +2699,18 @@ let SessionStoreInternal = {
       // preserved in the plain history entries (mainly scroll state and text data)
       browser.__SS_restore_data = tabData.entries[activeIndex] || {};
     } else {
       browser.__SS_restore_data = {};
     }
 
     browser.__SS_restore_tab = aTab;
 
-    browser.messageManager.sendAsyncMessage("SessionStore:restoreTabContent");
+    browser.messageManager.sendAsyncMessage("SessionStore:restoreTabContent",
+      {loadArguments: aLoadArguments});
   },
 
   /**
    * This _attempts_ to restore the next available tab. If the restore fails,
    * then we will attempt the next one.
    * There are conditions where this won't do anything:
    *   if we're in the process of quitting
    *   if there are no tabs to restore
--- a/browser/components/sessionstore/content/content-sessionStore.js
+++ b/browser/components/sessionstore/content/content-sessionStore.js
@@ -140,17 +140,17 @@ let MessageListener = {
         let epoch = gContentRestore.getRestoreEpoch();
         let finishCallback = () => {
           // Tell SessionStore.jsm that it may want to restore some more tabs,
           // since it restores a max of MAX_CONCURRENT_TAB_RESTORES at a time.
           sendAsyncMessage("SessionStore:restoreTabContentComplete", {epoch: epoch});
         };
 
         // We need to pass the value of didStartLoad back to SessionStore.jsm.
-        let didStartLoad = gContentRestore.restoreTabContent(finishCallback);
+        let didStartLoad = gContentRestore.restoreTabContent(data.loadArguments, finishCallback);
 
         sendAsyncMessage("SessionStore:restoreTabContentStarted", {epoch: epoch});
 
         if (!didStartLoad) {
           // Pretend that the load succeeded so that event handlers fire correctly.
           sendAsyncMessage("SessionStore:restoreTabContentComplete", {epoch: epoch});
           sendAsyncMessage("SessionStore:restoreDocumentComplete", {epoch: epoch});
         }
--- a/browser/components/sessionstore/test/browser.ini
+++ b/browser/components/sessionstore/test/browser.ini
@@ -61,40 +61,39 @@ support-files =
 [browser_aboutPrivateBrowsing.js]
 [browser_aboutSessionRestore.js]
 [browser_attributes.js]
 [browser_backup_recovery.js]
 [browser_broadcast.js]
 [browser_capabilities.js]
 [browser_cleaner.js]
 [browser_dying_cache.js]
-skip-if = e10s
 [browser_dynamic_frames.js]
 [browser_form_restore_events.js]
 [browser_formdata.js]
 skip-if = buildapp == 'mulet'
 [browser_formdata_format.js]
 [browser_formdata_xpath.js]
 [browser_frametree.js]
 [browser_frame_history.js]
 [browser_global_store.js]
 [browser_history_cap.js]
+[browser_history_persist.js]
 [browser_label_and_icon.js]
 [browser_merge_closed_tabs.js]
 [browser_pageStyle.js]
 [browser_privatetabs.js]
 [browser_scrollPositions.js]
 [browser_sessionHistory.js]
+# Disabled because of bug 1077581
 skip-if = e10s
 [browser_sessionStorage.js]
-skip-if = e10s
 [browser_swapDocShells.js]
 skip-if = e10s # See bug 918634
 [browser_telemetry.js]
-skip-if = e10s
 [browser_upgrade_backup.js]
 [browser_windowRestore_perwindowpb.js]
 [browser_248970_b_perwindowpb.js]
 # Disabled because of leaks.
 # Re-enabling and rewriting this test is tracked in bug 936919.
 skip-if = true
 [browser_339445.js]
 [browser_345898.js]
@@ -102,34 +101,31 @@ skip-if = true
 [browser_354894_perwindowpb.js]
 [browser_367052.js]
 [browser_393716.js]
 [browser_394759_basic.js]
 # Disabled for intermittent failures, bug 944372.
 skip-if = true
 [browser_394759_behavior.js]
 [browser_394759_perwindowpb.js]
-skip-if = e10s
 [browser_394759_purge.js]
 [browser_423132.js]
-skip-if = e10s
 [browser_447951.js]
 [browser_454908.js]
 [browser_456342.js]
 [browser_461634.js]
 [browser_463205.js]
 [browser_463206.js]
 [browser_464199.js]
 [browser_465215.js]
 [browser_465223.js]
 [browser_466937.js]
 [browser_467409-backslashplosion.js]
 [browser_477657.js]
 [browser_480893.js]
-skip-if = e10s
 [browser_485482.js]
 [browser_485563.js]
 [browser_490040.js]
 [browser_491168.js]
 # Disabled for too many intermittent failures.
 # Can be re-enabled once bug 930202 lands.
 skip-if = true
 [browser_491577.js]
@@ -192,11 +188,11 @@ skip-if = os == "linux" || e10s # Linux:
 # Disabled for frequent intermittent failures
 [browser_464620_a.js]
 skip-if = true
 [browser_464620_b.js]
 skip-if = true
 
 # Disabled on OS X:
 [browser_625016.js]
-skip-if = os == "mac" || e10s
+skip-if = os == "mac"
 
 [browser_911547.js]
--- a/browser/components/sessionstore/test/browser_423132.js
+++ b/browser/components/sessionstore/test/browser_423132.js
@@ -20,53 +20,56 @@ function test() {
 
   // open a new window
   let newWin = openDialog(location, "_blank", "chrome,all,dialog=no", "about:blank");
 
   // make sure sessionstore saves the cookie data, then close the window
   newWin.addEventListener("load", function (aEvent) {
     newWin.removeEventListener("load", arguments.callee, false);
 
-    newWin.gBrowser.loadURI(testURL, null, null);
+    // Wait for sessionstore to be ready to restore this window
+    executeSoon(function() {
+      newWin.gBrowser.loadURI(testURL, null, null);
 
-    whenBrowserLoaded(newWin.gBrowser.selectedBrowser, function() {
-      // get the sessionstore state for the window
-      TabState.flush(newWin.gBrowser.selectedBrowser);
-      let state = ss.getWindowState(newWin);
+      whenBrowserLoaded(newWin.gBrowser.selectedBrowser, function() {
+        // get the sessionstore state for the window
+        TabState.flush(newWin.gBrowser.selectedBrowser);
+        let state = ss.getWindowState(newWin);
 
-      // verify our cookie got set during pageload
-      let e = cs.enumerator;
-      let cookie;
-      let i = 0;
-      while (e.hasMoreElements()) {
-        cookie = e.getNext().QueryInterface(Ci.nsICookie);
-        i++;
-      }
-      is(i, 1, "expected one cookie");
+        // verify our cookie got set during pageload
+        let e = cs.enumerator;
+        let cookie;
+        let i = 0;
+        while (e.hasMoreElements()) {
+          cookie = e.getNext().QueryInterface(Ci.nsICookie);
+          i++;
+        }
+        is(i, 1, "expected one cookie");
 
-      // remove the cookie
-      cs.removeAll();
+        // remove the cookie
+        cs.removeAll();
 
-      // restore the window state
-      ss.setWindowState(newWin, state, true);
+        // restore the window state
+        ss.setWindowState(newWin, state, true);
 
-      // at this point, the cookie should be restored...
-      e = cs.enumerator;
-      let cookie2;
-      while (e.hasMoreElements()) {
-        cookie2 = e.getNext().QueryInterface(Ci.nsICookie);
-        if (cookie.name == cookie2.name)
-          break;
-      }
-      is(cookie.name, cookie2.name, "cookie name successfully restored");
-      is(cookie.value, cookie2.value, "cookie value successfully restored");
-      is(cookie.path, cookie2.path, "cookie path successfully restored");
+        // at this point, the cookie should be restored...
+        e = cs.enumerator;
+        let cookie2;
+        while (e.hasMoreElements()) {
+          cookie2 = e.getNext().QueryInterface(Ci.nsICookie);
+          if (cookie.name == cookie2.name)
+            break;
+        }
+        is(cookie.name, cookie2.name, "cookie name successfully restored");
+        is(cookie.value, cookie2.value, "cookie value successfully restored");
+        is(cookie.path, cookie2.path, "cookie path successfully restored");
 
-      // clean up
-      if (gPrefService.prefHasUserValue("browser.sessionstore.interval"))
-        gPrefService.clearUserPref("browser.sessionstore.interval");
-      cs.removeAll();
-      newWin.close();
-      finish();
-    }, true, testURL);
+        // clean up
+        if (gPrefService.prefHasUserValue("browser.sessionstore.interval"))
+          gPrefService.clearUserPref("browser.sessionstore.interval");
+        cs.removeAll();
+        newWin.close();
+        finish();
+      }, true, testURL);
+    });
   }, false);
 }
 
--- a/browser/components/sessionstore/test/browser_819510_perwindowpb.js
+++ b/browser/components/sessionstore/test/browser_819510_perwindowpb.js
@@ -170,14 +170,14 @@ function forceWriteState(aCallback) {
 }
 
 function testOnWindow(aIsPrivate, aCallback) {
   whenNewWindowLoaded({private: aIsPrivate}, aCallback);
 }
 
 function waitForTabLoad(aWin, aURL, aCallback) {
   let browser = aWin.gBrowser.selectedBrowser;
+  browser.loadURI(aURL);
   whenBrowserLoaded(browser, function () {
     TabState.flush(browser);
     executeSoon(aCallback);
   });
-  browser.loadURI(aURL);
 }
new file mode 100644
--- /dev/null
+++ b/browser/components/sessionstore/test/browser_history_persist.js
@@ -0,0 +1,79 @@
+/* Any copyright is dedicated to the Public Domain.
+ * http://creativecommons.org/publicdomain/zero/1.0/ */
+
+"use strict";
+
+/**
+ * Ensure that history entries that should not be persisted are restored in the
+ * same state.
+ */
+add_task(function check_history_not_persisted() {
+  // Create an about:blank tab
+  let tab = gBrowser.addTab("about:blank");
+  let browser = tab.linkedBrowser;
+  yield promiseBrowserLoaded(browser);
+
+  // Retrieve the tab state.
+  TabState.flush(browser);
+  let state = JSON.parse(ss.getTabState(tab));
+  ok(!state.entries[0].persist, "Should have collected the persistence state");
+  gBrowser.removeTab(tab);
+  browser = null;
+
+  // Open a new tab to restore into.
+  tab = gBrowser.addTab("about:blank");
+  browser = tab.linkedBrowser;
+  yield promiseTabState(tab, state);
+  let sessionHistory = browser.sessionHistory;
+
+  is(sessionHistory.count, 1, "Should be a single history entry");
+  is(sessionHistory.getEntryAtIndex(0, false).URI.spec, "about:blank", "Should be the right URL");
+
+  // Load a new URL into the tab, it should replace the about:blank history entry
+  browser.loadURI("about:robots");
+  yield promiseBrowserLoaded(browser);
+  sessionHistory = browser.sessionHistory;
+  is(sessionHistory.count, 1, "Should be a single history entry");
+  is(sessionHistory.getEntryAtIndex(0, false).URI.spec, "about:robots", "Should be the right URL");
+
+  // Cleanup.
+  gBrowser.removeTab(tab);
+});
+
+/**
+ * Check that entries default to being persisted when the attribute doesn't
+ * exist
+ */
+add_task(function check_history_default_persisted() {
+  // Create an about:blank tab
+  let tab = gBrowser.addTab("about:blank");
+  let browser = tab.linkedBrowser;
+  yield promiseBrowserLoaded(browser);
+
+  // Retrieve the tab state.
+  TabState.flush(browser);
+  let state = JSON.parse(ss.getTabState(tab));
+  delete state.entries[0].persist;
+  gBrowser.removeTab(tab);
+  browser = null;
+
+  // Open a new tab to restore into.
+  tab = gBrowser.addTab("about:blank");
+  browser = tab.linkedBrowser;
+  yield promiseTabState(tab, state);
+  let sessionHistory = browser.sessionHistory;
+
+  is(sessionHistory.count, 1, "Should be a single history entry");
+  is(sessionHistory.getEntryAtIndex(0, false).URI.spec, "about:blank", "Should be the right URL");
+
+  // Load a new URL into the tab, it should replace the about:blank history entry
+  browser.loadURI("about:robots");
+  yield promiseBrowserLoaded(browser);
+  sessionHistory = browser.sessionHistory;
+  is(sessionHistory.count, 2, "Should be two history entries");
+  is(sessionHistory.getEntryAtIndex(0, false).URI.spec, "about:blank", "Should be the right URL");
+  is(sessionHistory.getEntryAtIndex(1, false).URI.spec, "about:robots", "Should be the right URL");
+
+  // Cleanup.
+  gBrowser.removeTab(tab);
+});
--- a/browser/components/sessionstore/test/head.js
+++ b/browser/components/sessionstore/test/head.js
@@ -188,16 +188,20 @@ function waitForTabState(aTab, aState, a
   registerCleanupFunction(function() {
     if (listening) {
       aTab.removeEventListener("SSTabRestored", onSSTabRestored, false);
     }
   });
   ss.setTabState(aTab, JSON.stringify(aState));
 }
 
+function promiseTabState(tab, state) {
+  return new Promise(resolve => waitForTabState(tab, state, resolve));
+}
+
 /**
  * Wait for a content -> chrome message.
  */
 function promiseContentMessage(browser, name) {
   let mm = browser.messageManager;
 
   return new Promise(resolve => {
     function removeListener() {
--- a/browser/components/tabview/content.js
+++ b/browser/components/tabview/content.js
@@ -69,15 +69,22 @@ let WindowMessageHandler = {
 
   // ----------
   // Function: isImageDocument
   // Checks if the currently active document is an image document or not.
   isImageDocument: function WMH_isImageDocument(cx) {
     let isImageDocument = (content.document instanceof Ci.nsIImageDocument);
 
     sendAsyncMessage(cx.name, {isImageDocument: isImageDocument});
-  }
+  },
+
+  waitForDocumentLoad: function WMH_waitForDocumentLoad() {
+    addEventListener("load", function listener() {
+      removeEventListener("load", listener, true);
+      sendAsyncMessage("Panorama:documentLoaded");
+    }, true);
+  },
 };
 
 // add message listeners
 addMessageListener("Panorama:isDocumentLoaded", WindowMessageHandler.isDocumentLoaded);
 addMessageListener("Panorama:isImageDocument", WindowMessageHandler.isImageDocument);
-
+addMessageListener("Panorama:waitForDocumentLoad", WindowMessageHandler.waitForDocumentLoad);
--- a/browser/components/tabview/test/browser.ini
+++ b/browser/components/tabview/test/browser.ini
@@ -12,16 +12,17 @@ support-files =
 [browser_tabview_alltabs.js]
 [browser_tabview_apptabs.js]
 [browser_tabview_bug580412.js]
 [browser_tabview_bug586553.js]
 [browser_tabview_bug587043.js]
 [browser_tabview_bug587231.js]
 skip-if = buildapp == 'mulet'
 [browser_tabview_bug587276.js]
+skip-if = e10s # Bug 1091200
 [browser_tabview_bug587351.js]
 [browser_tabview_bug587503.js]
 [browser_tabview_bug587990.js]
 [browser_tabview_bug588265.js]
 [browser_tabview_bug589324.js]
 skip-if = e10s # Bug 1086190
 [browser_tabview_bug590606.js]
 [browser_tabview_bug591706.js]
--- a/browser/components/tabview/test/browser_tabview_bug587276.js
+++ b/browser/components/tabview/test/browser_tabview_bug587276.js
@@ -57,19 +57,23 @@ function test4() {
   let onTabClose = function() {
     gBrowser.tabContainer.removeEventListener("TabClose", onTabClose, true);
     executeSoon(function() {
       is(gBrowser.tabs.length, 1, "There is one tab after removing one");
 
       EventUtils.synthesizeKey("t", { accelKey: true, shiftKey: true }, contentWindow);
       is(gBrowser.tabs.length, 2, "There are two tabs after restoring one");
 
-      gBrowser.tabs[0].linkedBrowser.loadURI("about:blank");
-      gBrowser.selectedTab = gBrowser.tabs[0];
-      test8();
+      gBrowser.tabs[1].linkedBrowser.addEventListener("load", function listener() {
+        gBrowser.tabs[1].linkedBrowser.removeEventListener("load", listener, true);
+
+        gBrowser.tabs[0].linkedBrowser.loadURI("about:blank");
+        gBrowser.selectedTab = gBrowser.tabs[0];
+        test8();
+      }, true);
     });
   };
   gBrowser.tabContainer.addEventListener("TabClose", onTabClose, true);
   gBrowser.removeTab(gBrowser.tabs[1]);
 }
 
 // below key combination shouldn't trigger actions in tabview UI
 function test8() {
--- a/browser/components/tabview/ui.js
+++ b/browser/components/tabview/ui.js
@@ -792,20 +792,21 @@ let UI = {
         return;
       }
       if (this._closedLastVisibleTab ||
           (this._closedSelectedTabInTabView && !this.closedLastTabInTabView) ||
           this.restoredClosedTab) {
         if (this.restoredClosedTab) {
           // when the tab view UI is being displayed, update the thumb for the 
           // restored closed tab after the page load
-          tab.linkedBrowser.addEventListener("load", function onLoad(event) {
-            tab.linkedBrowser.removeEventListener("load", onLoad, true);
+          tab.linkedBrowser.messageManager.addMessageListener("Panorama:documentLoaded", function onLoad() {
+            tab.linkedBrowser.messageManager.removeMessageListener("Panorama:documentLoaded", onLoad);
             TabItems._update(tab);
-          }, true);
+          });
+          tab.linkedBrowser.messageManager.sendAsyncMessage("Panorama:waitForDocumentLoad");
         }
         this._closedLastVisibleTab = false;
         this._closedSelectedTabInTabView = false;
         this.closedLastTabInTabView = false;
         this.restoredClosedTab = false;
         return;
       }
     }
--- a/browser/devtools/framework/gDevTools.jsm
+++ b/browser/devtools/framework/gDevTools.jsm
@@ -13,16 +13,19 @@ Cu.import("resource://gre/modules/Servic
 Cu.import("resource://gre/modules/devtools/Loader.jsm");
 
 XPCOMUtils.defineLazyModuleGetter(this, "promise",
                                   "resource://gre/modules/Promise.jsm", "Promise");
 
 XPCOMUtils.defineLazyModuleGetter(this, "console",
                                   "resource://gre/modules/devtools/Console.jsm");
 
+XPCOMUtils.defineLazyModuleGetter(this, "CustomizableUI",
+                                  "resource:///modules/CustomizableUI.jsm");
+
 const EventEmitter = devtools.require("devtools/toolkit/event-emitter");
 const FORBIDDEN_IDS = new Set(["toolbox", ""]);
 const MAX_ORDINAL = 99;
 
 /**
  * DevTools is a class that represents a set of developer tools, it holds a
  * set of tools and keeps track of open toolboxes in the browser.
  */
@@ -561,16 +564,23 @@ let gDevToolsBrowser = {
     if (devToolbarEnabled && Services.prefs.getBoolPref("devtools.toolbar.visible")) {
       win.DeveloperToolbar.show(false).catch(console.error);
     }
 
     // Enable WebIDE?
     let webIDEEnabled = Services.prefs.getBoolPref("devtools.webide.enabled");
     toggleCmd("Tools:WebIDE", webIDEEnabled);
 
+    let showWebIDEWidget = Services.prefs.getBoolPref("devtools.webide.widget.enabled");
+    if (webIDEEnabled && showWebIDEWidget) {
+      gDevToolsBrowser.installWebIDEWidget();
+    } else {
+      gDevToolsBrowser.uninstallWebIDEWidget();
+    }
+
     // Enable App Manager?
     let appMgrEnabled = Services.prefs.getBoolPref("devtools.appmanager.enabled");
     toggleCmd("Tools:DevAppMgr", !webIDEEnabled && appMgrEnabled);
 
     // Enable Browser Toolbox?
     let chromeEnabled = Services.prefs.getBoolPref("devtools.chrome.enabled");
     let devtoolsRemoteEnabled = Services.prefs.getBoolPref("devtools.debugger.remote-enabled");
     let remoteEnabled = chromeEnabled && devtoolsRemoteEnabled &&
@@ -662,19 +672,67 @@ let gDevToolsBrowser = {
   /**
    * Open WebIDE
    */
   openWebIDE: function() {
     let win = Services.wm.getMostRecentWindow("devtools:webide");
     if (win) {
       win.focus();
     } else {
-      let ww = Cc["@mozilla.org/embedcomp/window-watcher;1"].getService(Ci.nsIWindowWatcher);
-      ww.openWindow(null, "chrome://webide/content/", "webide", "chrome,centerscreen,resizable", null);
+      Services.ww.openWindow(null, "chrome://webide/content/", "webide", "chrome,centerscreen,resizable", null);
+    }
+  },
+
+  /**
+   * Install WebIDE widget
+   */
+  installWebIDEWidget: function() {
+    if (this.isWebIDEWidgetInstalled()) {
+      return;
+    }
+
+    let defaultArea;
+    if (Services.prefs.getBoolPref("devtools.webide.widget.inNavbarByDefault")) {
+      defaultArea = CustomizableUI.AREA_NAVBAR;
+    } else {
+      defaultArea = CustomizableUI.AREA_PANEL;
     }
+
+    CustomizableUI.createWidget({
+      id: "webide-button",
+      shortcutId: "key_webide",
+      label: "devtools-webide-button2.label",
+      tooltiptext: "devtools-webide-button2.tooltiptext",
+      defaultArea: defaultArea,
+      onCommand: function(aEvent) {
+        gDevToolsBrowser.openWebIDE();
+      }
+    });
+  },
+
+  isWebIDEWidgetInstalled: function() {
+    let widgetWrapper = CustomizableUI.getWidget("webide-button");
+    return !!(widgetWrapper && widgetWrapper.instances.some(i => !!i.node));
+  },
+
+  /**
+   * Uninstall WebIDE widget
+   */
+  uninstallWebIDEWidget: function() {
+    if (this.isWebIDEWidgetInstalled()) {
+      CustomizableUI.removeWidgetFromArea("webide-button");
+    }
+    CustomizableUI.destroyWidget("webide-button");
+  },
+
+  /**
+   * Move WebIDE widget to the navbar
+   */
+  moveWebIDEWidgetInNavbar: function() {
+    CustomizableUI.addWidgetToArea("webide-button", CustomizableUI.AREA_NAVBAR);
   },
 
   /**
    * Add this DevTools's presence to a browser window's document
    *
    * @param {XULDocument} doc
    *        The document to which menuitems and handlers are to be added
    */
--- a/browser/devtools/webide/content/webide.js
+++ b/browser/devtools/webide/content/webide.js
@@ -84,16 +84,22 @@ let UI = {
         addons.adapters.install();
       }, console.error);
     }
     Services.prefs.setBoolPref("devtools.webide.autoinstallADBHelper", false);
     Services.prefs.setBoolPref("devtools.webide.autoinstallFxdtAdapters", false);
 
     this.lastConnectedRuntime = Services.prefs.getCharPref("devtools.webide.lastConnectedRuntime");
 
+    if (Services.prefs.getBoolPref("devtools.webide.widget.autoinstall") &&
+        !Services.prefs.getBoolPref("devtools.webide.widget.enabled")) {
+      Services.prefs.setBoolPref("devtools.webide.widget.enabled", true);
+      gDevToolsBrowser.moveWebIDEWidgetInNavbar();
+    }
+
     this.setupDeck();
   },
 
   uninit: function() {
     window.removeEventListener("focus", this.onfocus, true);
     AppManager.off("app-manager-update", this.appManagerUpdate);
     AppManager.uninit();
     window.removeEventListener("message", this.onMessage);
--- a/browser/devtools/webide/test/browser.ini
+++ b/browser/devtools/webide/test/browser.ini
@@ -3,8 +3,9 @@ subsuite = devtools
 support-files =
   addons/simulators.json
   doc_tabs.html
   head.js
   templates.json
 
 [browser_tabs.js]
 skip-if = e10s # Bug 1072167 - browser_tabs.js test fails under e10s
+[browser_widget.js]
new file mode 100644
--- /dev/null
+++ b/browser/devtools/webide/test/browser_widget.js
@@ -0,0 +1,15 @@
+/* Any copyright is dedicated to the Public Domain.
+   http://creativecommons.org/publicdomain/zero/1.0/ */
+"use strict";
+
+function test() {
+  waitForExplicitFinish();
+  Task.spawn(function() {
+    let win = yield openWebIDE();
+    ok(document.querySelector("#webide-button"), "Found WebIDE button");
+    Services.prefs.setBoolPref("devtools.webide.widget.enabled", false);
+    ok(!document.querySelector("#webide-button"), "WebIDE button uninstalled");
+    yield closeWebIDE(win);
+    Services.prefs.clearUserPref("devtools.webide.widget.enabled");
+  }).then(finish, handleError);
+}
--- a/browser/devtools/webide/test/head.js
+++ b/browser/devtools/webide/test/head.js
@@ -59,16 +59,18 @@ function openWebIDE(autoInstallAddons) {
   return deferred.promise;
 }
 
 function closeWebIDE(win) {
   info("Closing WebIDE");
 
   let deferred = promise.defer();
 
+  Services.prefs.clearUserPref("devtools.webide.widget.enabled");
+
   win.addEventListener("unload", function onUnload() {
     win.removeEventListener("unload", onUnload);
     info("WebIDE closed");
     SimpleTest.executeSoon(() => {
       deferred.resolve();
     });
   });
 
--- a/browser/devtools/webide/webide-prefs.js
+++ b/browser/devtools/webide/webide-prefs.js
@@ -13,8 +13,11 @@ pref("devtools.webide.simulatorAddonsURL
 pref("devtools.webide.simulatorAddonID", "fxos_#SLASHED_VERSION#_simulator@mozilla.org");
 pref("devtools.webide.adbAddonURL", "https://ftp.mozilla.org/pub/mozilla.org/labs/fxos-simulator/adb-helper/#OS#/adbhelper-#OS#-latest.xpi");
 pref("devtools.webide.adbAddonID", "adbhelper@mozilla.org");
 pref("devtools.webide.adaptersAddonURL", "https://ftp.mozilla.org/pub/mozilla.org/labs/fxdt-adapters/#OS#/fxdt-adapters-#OS#-latest.xpi");
 pref("devtools.webide.adaptersAddonID", "fxdevtools-adapters@mozilla.org");
 pref("devtools.webide.monitorWebSocketURL", "ws://localhost:9000");
 pref("devtools.webide.lastConnectedRuntime", "");
 pref("devtools.webide.lastSelectedProject", "");
+pref("devtools.webide.widget.autoinstall", true);
+pref("devtools.webide.widget.enabled", false);
+pref("devtools.webide.widget.inNavbarByDefault", false);
--- a/browser/locales/en-US/chrome/browser/customizableui/customizableWidgets.properties
+++ b/browser/locales/en-US/chrome/browser/customizableui/customizableWidgets.properties
@@ -108,10 +108,11 @@ social-share-button.tooltiptext = Share 
 panic-button.label = Forget
 panic-button.tooltiptext = Forget about some browsing history
 
 web-apps-button.label = Apps
 web-apps-button.tooltiptext = Discover Apps
 
 # LOCALIZATION NOTE(devtools-webide-button.label, devtools-webide-button.tooltiptext):
 # widget is only visible after WebIDE has been started once (Tools > Web Developers > WebIDE)
-devtools-webide-button.label = WebIDE
-devtools-webide-button.tooltiptext = Open WebIDE
+# %S is the keyboard shortcut
+devtools-webide-button2.label = WebIDE
+devtools-webide-button2.tooltiptext = Open WebIDE (%S)
--- a/browser/modules/E10SUtils.jsm
+++ b/browser/modules/E10SUtils.jsm
@@ -46,15 +46,18 @@ this.E10SUtils = {
 
   redirectLoad: function(aDocShell, aURI, aReferrer) {
     // Retarget the load to the correct process
     let messageManager = aDocShell.QueryInterface(Ci.nsIInterfaceRequestor)
                                   .getInterface(Ci.nsIContentFrameMessageManager);
     let sessionHistory = aDocShell.getInterface(Ci.nsIWebNavigation).sessionHistory;
 
     messageManager.sendAsyncMessage("Browser:LoadURI", {
-      uri: aURI.spec,
-      referrer: aReferrer ? aReferrer.spec : null,
+      loadOptions: {
+        uri: aURI.spec,
+        flags: Ci.nsIWebNavigation.LOAD_FLAGS_NONE,
+        referrer: aReferrer ? aReferrer.spec : null,
+      },
       historyIndex: sessionHistory.requestedIndex,
     });
     return false;
   },
 };
index eedfba2f2d75008ac789c466603d666f7012a055..4620649437bc1e78d19faa4033535042636808b8
GIT binary patch
literal 17178
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
A%K!iX
--- a/browser/themes/osx/browser.css
+++ b/browser/themes/osx/browser.css
@@ -760,16 +760,20 @@ toolbar .toolbarbutton-1 > .toolbarbutto
   #new-window-button@toolbarButtonPressed@ {
     -moz-image-region: rect(18px, 342px, 36px, 324px);
   }
 
   #e10s-button@toolbarButtonPressed@ {
     -moz-image-region: rect(18px, 342px, 36px, 324px);
   }
 
+  #webide-button@toolbarButtonPressed@ {
+    -moz-image-region: rect(18px, 342px, 36px, 324px);
+  }
+
   #new-tab-button@toolbarButtonPressed@ {
     -moz-image-region: rect(18px, 360px, 36px, 342px);
   }
 
   #privatebrowsing-button@toolbarButtonPressed@ {
     -moz-image-region: rect(18px, 378px, 36px, 360px);
   }
 
@@ -1007,16 +1011,24 @@ toolbar .toolbarbutton-1 > .toolbarbutto
   #e10s-button[cui-areatype="toolbar"]:hover:active:not([disabled="true"]) {
     -moz-image-region: rect(36px, 684px, 72px, 648px);
   }
 
   #e10s-button > .toolbarbutton-icon {
     transform: scaleY(-1);
   }
 
+  #webide-button[cui-areatype="toolbar"] {
+    -moz-image-region: rect(0, 1476px, 36px, 1440px);
+  }
+
+  #webide-button[cui-areatype="toolbar"]:hover:active:not([disabled="true"]) {
+    -moz-image-region: rect(36px, 1476px, 72px, 1440px);
+  }
+
   #new-tab-button[cui-areatype="toolbar"] {
     -moz-image-region: rect(0, 720px, 36px, 684px);
   }
 
   #new-tab-button[cui-areatype="toolbar"]:hover:active:not([disabled="true"]) {
     -moz-image-region: rect(36px, 720px, 72px, 684px);
   }
 
@@ -1276,16 +1288,21 @@ toolbar .toolbarbutton-1 > .toolbarbutto
     -moz-image-region: rect(0px, 1024px, 64px, 960px);
   }
 
   #e10s-button[cui-areatype="menu-panel"],
   toolbarpaletteitem[place="palette"] > #e10s-button {
     -moz-image-region: rect(0px, 1024px, 64px, 960px);
   }
 
+  #webide-button[cui-areatype="menu-panel"],
+  toolbarpaletteitem[place="palette"] > #webide-button {
+    -moz-image-region: rect(0px, 1920px, 64px, 1856px);
+  }
+
   #new-tab-button[cui-areatype="menu-panel"],
   toolbarpaletteitem[place="palette"] > #new-tab-button {
     -moz-image-region: rect(0px, 1088px, 64px, 1024px);
   }
 
   #privatebrowsing-button[cui-areatype="menu-panel"],
   toolbarpaletteitem[place="palette"] > #privatebrowsing-button {
     -moz-image-region: rect(0px, 1152px, 64px, 1088px);
index d897508a75e5870ab533226a900fbc4d282a98aa..45a48c48886ea9ab8ba364a3b13daef9961b4661
GIT binary patch
literal 22775
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
O0000<MNUMnLSTZlwxJmS
index 171dada2acb29f3b4a95d496644ff1097ed43706..8c5614c383804cfba97af8e730b2d0b25c65b7a4
GIT binary patch
literal 51338
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
index 9e4aa3516c789e2670ceb80372a9900a9a3069e9..5d25777f943a208208cf5efc1ca01f98d1069182
GIT binary patch
literal 29875
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
index 63a3617531c4eb811ab18ce20e3cf6fdbf6e699c..3da72975a51bedd10b9b39eaa11c12e1dc7250ca
GIT binary patch
literal 69815
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
--- a/browser/themes/shared/browser.inc
+++ b/browser/themes/shared/browser.inc
@@ -1,13 +1,13 @@
 %filter substitution
 
 % Note that zoom-reset-button is a bit different since it doesn't use an image and thus has the image with display: none.
 %define nestedButtons #zoom-out-button, #zoom-reset-button, #zoom-in-button, #cut-button, #copy-button, #paste-button
-%define primaryToolbarButtons #back-button, #forward-button, #home-button, #print-button, #downloads-button, #bookmarks-menu-button, #new-tab-button, #new-window-button, #fullscreen-button, #sync-button, #feed-button, #tabview-button, #social-share-button, #open-file-button, #find-button, #developer-button, #preferences-button, #privatebrowsing-button, #save-page-button, #switch-to-metro-button, #add-ons-button, #history-panelmenu, #nav-bar-overflow-button, #PanelUI-menu-button, #characterencoding-button, #email-link-button, #sidebar-button, @nestedButtons@, #e10s-button, #panic-button, #web-apps-button
+%define primaryToolbarButtons #back-button, #forward-button, #home-button, #print-button, #downloads-button, #bookmarks-menu-button, #new-tab-button, #new-window-button, #fullscreen-button, #sync-button, #feed-button, #tabview-button, #social-share-button, #open-file-button, #find-button, #developer-button, #preferences-button, #privatebrowsing-button, #save-page-button, #switch-to-metro-button, #add-ons-button, #history-panelmenu, #nav-bar-overflow-button, #PanelUI-menu-button, #characterencoding-button, #email-link-button, #sidebar-button, @nestedButtons@, #e10s-button, #panic-button, #web-apps-button, #webide-button
 
 %ifdef XP_MACOSX
 % Prior to 10.7 there wasn't a native fullscreen button so we use #restore-button to exit fullscreen
 % and want it to behave like other toolbar buttons.
 %define primaryToolbarButtons @primaryToolbarButtons@, #restore-button
 %endif
 
 %define inAnyPanel :-moz-any(:not([cui-areatype="toolbar"]), [overflowedItem=true])
--- a/browser/themes/shared/menupanel.inc.css
+++ b/browser/themes/shared/menupanel.inc.css
@@ -161,16 +161,21 @@ toolbarpaletteitem[place="palette"] > #p
   -moz-image-region: rect(32px, 896px, 64px, 864px);
 }
 
 #web-apps-button[cui-areatype="menu-panel"],
 toolbarpaletteitem[place="palette"] > #web-apps-button {
   -moz-image-region: rect(0, 928px, 32px, 896px);
 }
 
+#webide-button[cui-areatype="menu-panel"],
+toolbarpaletteitem[place="palette"] > #webide-button {
+  -moz-image-region: rect(0px, 960px, 32px, 928px);
+}
+
 toolbaritem[sdkstylewidget="true"] > toolbarbutton {
   -moz-image-region: rect(0, 832px, 32px, 800px);
 }
 
 #loop-call-button[cui-areatype="menu-panel"] > .toolbarbutton-badge-container,
 toolbarpaletteitem[place="palette"] > #loop-call-button > .toolbarbutton-badge-container {
   list-style-image: url(chrome://browser/skin/loop/menuPanel.png);
   -moz-image-region: rect(0, 32px, 32px, 0);
@@ -238,9 +243,9 @@ toolbarpaletteitem[place="palette"] > #z
 #zoom-controls@inAnyPanel@ > #zoom-in-button,
 toolbarpaletteitem[place="palette"] > #zoom-controls > #zoom-in-button {
   -moz-image-region: rect(0px, 96px, 16px, 80px);
 }
 
 #add-share-provider {
   list-style-image: url(chrome://browser/skin/menuPanel-small.png);
   -moz-image-region: rect(0px, 96px, 16px, 80px);
-}
\ No newline at end of file
+}
--- a/browser/themes/shared/toolbarbuttons.inc.css
+++ b/browser/themes/shared/toolbarbuttons.inc.css
@@ -228,8 +228,12 @@ toolbar[brighttext] #loop-call-button > 
 
 #loop-call-button:not([disabled="true"])[state="active"] > .toolbarbutton-badge-container {
   -moz-image-region: rect(0, 108px, 18px, 90px);
 }
 
 #loop-call-button:not([disabled="true"])[state="active"]:-moz-any(:hover,:hover:active,[open]) > .toolbarbutton-badge-container {
   -moz-image-region: rect(0, 126px, 18px, 108px);
 }
+
+#webide-button[cui-areatype="toolbar"] {
+  -moz-image-region: rect(0, 738px, 18px, 720px);
+}
index 9e6f5a184ee121fe1b698a6b06ef575543e8d737..51df7fb6381462256cfc60c78e27b108153d08cf
GIT binary patch
literal 34415
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
index 4fc27b29a8e4ecea6ea70860fe3e7b90deae0817..5b95ec0f30dbe27f1ec6754755fca72b0e28942f
GIT binary patch
literal 16384
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
AGXMYp
--- a/mobile/android/base/home/ReadingListRow.java
+++ b/mobile/android/base/home/ReadingListRow.java
@@ -38,18 +38,16 @@ public class ReadingListRow extends Line
         this(context, null);
     }
 
     public ReadingListRow(Context context, AttributeSet attrs) {
         super(context, attrs);
 
         LayoutInflater.from(context).inflate(R.layout.reading_list_row_view, this);
 
-        setOrientation(LinearLayout.VERTICAL);
-
         resources = context.getResources();
 
         title = (TextView) findViewById(R.id.title);
         excerpt = (TextView) findViewById(R.id.excerpt);
         readTime = (TextView) findViewById(R.id.read_time);
     }
 
     public void updateFromCursor(Cursor cursor) {
--- a/mobile/android/base/locales/en-US/android_strings.dtd
+++ b/mobile/android/base/locales/en-US/android_strings.dtd
@@ -355,20 +355,20 @@ size. -->
      dialog that appears after selecting the "Edit Site Settings" context menu item. -->
 <!ENTITY site_settings_title3       "Site Settings">
 <!ENTITY site_settings_cancel       "Cancel">
 <!ENTITY site_settings_clear        "Clear">
 <!ENTITY site_settings_no_settings  "There are no settings to clear.">
 
 <!ENTITY reading_list_added "Page added to your Reading List">
 
-<!-- Localization note (reading_list_time_minutes) : This string is used in the "Reading List"
+<!-- Localization note (reading_list_time_minutes2) : This string is used in the "Reading List"
      panel on the home page to give the user an estimate of how many minutes it will take to
      read an article. The word "minute" should be abbreviated if possible. -->
-<!ENTITY reading_list_time_minutes "&formatD;min">
+<!ENTITY reading_list_time_minutes2 "&formatD; min">
 <!ENTITY reading_list_time_over_an_hour "Over an hour">
 
 <!-- Localization note : These strings are used as alternate text for accessibility.
      They are not visible in the UI. -->
 <!ENTITY page_action_dropmarker_description "Additional Actions">
 
 <!ENTITY masterpassword_create_title "Create Master Password">
 <!ENTITY masterpassword_remove_title "Remove Master Password">
--- a/mobile/android/base/resources/layout/reading_list_item_row.xml
+++ b/mobile/android/base/resources/layout/reading_list_item_row.xml
@@ -1,10 +1,9 @@
 <?xml version="1.0" encoding="utf-8"?>
 <!-- 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/. -->
 
 <org.mozilla.gecko.home.ReadingListRow xmlns:android="http://schemas.android.com/apk/res/android"
-                                       style="@style/Widget.BookmarkItemView"
                                        android:layout_width="match_parent"
-                                       android:layout_height="wrap_content"
-                                       android:padding="10dp"/>
+                                       android:layout_height="@dimen/reading_list_row_height"
+                                       android:layout_gravity="center_vertical"/>
--- a/mobile/android/base/resources/layout/reading_list_row_view.xml
+++ b/mobile/android/base/resources/layout/reading_list_row_view.xml
@@ -1,34 +1,39 @@
 <?xml version="1.0" encoding="utf-8"?>
 <!-- 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/. -->
 
 <merge xmlns:android="http://schemas.android.com/apk/res/android">
 
     <LinearLayout
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:orientation="horizontal">
+        android:layout_width="0dip"
+        android:layout_height="match_parent"
+        android:layout_weight="1"
+        android:paddingLeft="@dimen/reading_list_row_padding_left"
+        android:paddingRight="@dimen/reading_list_row_padding_right"
+        android:orientation="vertical"
+        android:gravity="center_vertical">
 
         <TextView
             android:id="@+id/title"
-            android:layout_width="0dip"
-            android:layout_height="match_parent"
-            android:layout_weight="1"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:paddingBottom="4dp"
             style="@style/Widget.ReadingListRow.Title" />
 
         <TextView
-            android:id="@+id/read_time"
-            android:layout_width="wrap_content"
-            android:layout_height="match_parent"
-            style="@style/Widget.ReadingListRow.ReadTime" />
+            android:id="@+id/excerpt"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            style="@style/Widget.ReadingListRow.Description" />
 
     </LinearLayout>
 
     <TextView
-        android:id="@+id/excerpt"
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        style="@style/Widget.ReadingListRow.Description" />
+        android:id="@+id/read_time"
+        android:layout_width="64dp"
+        android:layout_height="match_parent"
+        android:gravity="center"
+        style="@style/Widget.ReadingListRow.ReadTime" />
 
 </merge>
--- a/mobile/android/base/resources/values-large-v11/dimens.xml
+++ b/mobile/android/base/resources/values-large-v11/dimens.xml
@@ -6,9 +6,12 @@
 <resources>
 
     <dimen name="browser_toolbar_height">56dp</dimen>
     <dimen name="browser_toolbar_button_padding">16dp</dimen>
 
     <dimen name="tabs_counter_size">26sp</dimen>
     <dimen name="panel_grid_view_column_width">200dp</dimen>
 
+    <dimen name="reading_list_row_height">96dp</dimen>
+    <dimen name="reading_list_row_padding_right">15dp</dimen>
+
 </resources>
--- a/mobile/android/base/resources/values-large-v11/styles.xml
+++ b/mobile/android/base/resources/values-large-v11/styles.xml
@@ -127,16 +127,23 @@
         <item name="android:paddingTop">30dp</item>
         <item name="android:paddingLeft">32dp</item>
         <item name="android:paddingRight">32dp</item>
         <item name="topDivider">false</item>
     </style>
 
     <style name="Widget.ReadingListView" parent="Widget.BookmarksListView"/>
 
+    <style name="Widget.ReadingListRow.Description">
+        <item name="android:textAppearance">@style/TextAppearance.Widget.Home.ItemDescription</item>
+        <item name="android:maxLines">2</item>
+        <item name="android:ellipsize">end</item>
+        <item name="android:lineSpacingMultiplier">1.3</item>
+    </style>
+
     <style name="Widget.HomeBanner">
         <item name="android:paddingLeft">32dp</item>
         <item name="android:paddingRight">32dp</item>
     </style>
 
     <!-- Tabs panel -->
     <style name="TabsPanelFrame.RemoteTabs" parent="TabsPanelFrameBase">
         <item name="android:paddingLeft">112dp</item>
--- a/mobile/android/base/resources/values-v16/styles.xml
+++ b/mobile/android/base/resources/values-v16/styles.xml
@@ -12,22 +12,16 @@
     <style name="TextAppearance.Widget.Home.ItemTitle" parent="TextAppearance.Medium">
         <item name="android:fontFamily">sans-serif-light</item>
     </style>
 
     <style name="TextAppearance.Widget.Home.PageTitle" parent="TextAppearance.Medium">
         <item name="android:fontFamily">sans-serif-light</item>
     </style>
 
-    <style name="Widget.ReadingListRow.ReadTime">
-        <item name="android:textStyle">italic</item>
-        <item name="android:textColor">#FF9400</item>
-        <item name="android:fontFamily">sans-serif-condensed</item>
-    </style>
-
     <style name="OnboardStartTextAppearance.Subtext">
         <item name="android:textSize">18sp</item>
         <item name="android:fontFamily">sans-serif-light</item>
     </style>
     <style name="TextAppearance.UrlBar.Title" parent="TextAppearance.Small">
         <item name="android:textSize">15sp</item>
         <item name="android:fontFamily">sans-serif-light</item>
     </style>
--- a/mobile/android/base/resources/values/dimens.xml
+++ b/mobile/android/base/resources/values/dimens.xml
@@ -56,19 +56,24 @@
     <dimen name="favicon_largest_interesting_size">32dp</dimen>
 
     <!-- Site security icon -->
     <!-- If one of these values changes, they all should. -->
     <dimen name="site_security_bottom_margin">.5dp</dimen>
     <dimen name="new_tablet_site_security_unknown_inset_top">1dp</dimen>
     <dimen name="new_tablet_site_security_unknown_inset_bottom">-1dp</dimen>
 
-    <!-- Page Row height -->
+    <!-- Regular page row on about:home -->
     <dimen name="page_row_height">64dp</dimen>
 
+    <!-- Reading list row on about:home -->
+    <dimen name="reading_list_row_height">128dp</dimen>
+    <dimen name="reading_list_row_padding_left">15dp</dimen>
+    <dimen name="reading_list_row_padding_right">10dp</dimen>
+
     <!-- Remote Tabs static view top padding. Less in landscape on phones. -->
     <dimen name="home_remote_tabs_top_padding">48dp</dimen>
 
     <!-- Remote Tabs Hidden devices row height -->
     <dimen name="home_remote_tabs_hidden_footer_height">48dp</dimen>
 
     <!-- Search Engine Row height -->
     <dimen name="search_row_height">48dp</dimen>
--- a/mobile/android/base/resources/values/styles.xml
+++ b/mobile/android/base/resources/values/styles.xml
@@ -132,22 +132,22 @@
     <style name="Widget.ReadingListRow.Title">
         <item name="android:textAppearance">@style/TextAppearance.Widget.Home.ItemTitle</item>
         <item name="android:maxLines">2</item>
         <item name="android:ellipsize">end</item>
     </style>
 
     <style name="Widget.ReadingListRow.Description">
         <item name="android:textAppearance">@style/TextAppearance.Widget.Home.ItemDescription</item>
-        <item name="android:maxLines">4</item>
+        <item name="android:maxLines">3</item>
         <item name="android:ellipsize">end</item>
+        <item name="android:lineSpacingMultiplier">1.3</item>
     </style>
 
     <style name="Widget.ReadingListRow.ReadTime">
-        <item name="android:textStyle">italic</item>
         <item name="android:textColor">@color/text_color_highlight</item>
     </style>
 
     <style name="Widget.BookmarkFolderView" parent="Widget.TwoLinePageRow.Title">
         <item name="android:singleLine">true</item>
         <item name="android:ellipsize">none</item>
         <item name="android:paddingLeft">10dip</item>
         <item name="android:drawablePadding">10dip</item>
--- a/mobile/android/base/strings.xml.in
+++ b/mobile/android/base/strings.xml.in
@@ -289,17 +289,17 @@
   <string name="edit_mode_cancel">&edit_mode_cancel;</string>
 
   <string name="site_settings_title">&site_settings_title3;</string>
   <string name="site_settings_cancel">&site_settings_cancel;</string>
   <string name="site_settings_clear">&site_settings_clear;</string>
   <string name="site_settings_no_settings">&site_settings_no_settings;</string>
 
   <string name="reading_list_added">&reading_list_added;</string>
-  <string name="reading_list_time_minutes">&reading_list_time_minutes;</string>
+  <string name="reading_list_time_minutes">&reading_list_time_minutes2;</string>
   <string name="reading_list_time_over_an_hour">&reading_list_time_over_an_hour;</string>
 
   <string name="page_action_dropmarker_description">&page_action_dropmarker_description;</string>
 
   <string name="contextmenu_open_new_tab">&contextmenu_open_new_tab;</string>
   <string name="contextmenu_open_private_tab">&contextmenu_open_private_tab;</string>
   <string name="contextmenu_remove">&contextmenu_remove;</string>
   <string name="contextmenu_add_to_launcher">&contextmenu_add_to_launcher;</string>
--- a/mobile/android/base/tests/robocop.ini
+++ b/mobile/android/base/tests/robocop.ini
@@ -1,19 +1,17 @@
 [testGeckoProfile]
 # [test_bug720538] # disabled on fig - bug 897072
 [testAboutPage]
 # disabled on Android 2.3; bug 975187
 skip-if = android_version == "10"
 [testAddonManager]
-# disabled on x86 only; bug 936216
-#skip-if = processor == "x86"
-# disabled across the board - bug 941624, bug 1063509, bug 1073374, bug 1087221,
-#                             bug 1088023, bug 1088027, bug 1090206
-skip-if = true
+# disabled on x86; bug 936216
+# disabled on 2.3; bug 941624, bug 1063509, bug 1073374, bug 1087221, bug 1088023, bug 1088027, bug 1090206
+skip-if = android_version == "10" || processor == "x86"
 [testAddSearchEngine]
 # disabled on Android 2.3; bug 979552
 skip-if = android_version == "10"
 [testAdobeFlash]
 skip-if = processor == "x86"
 [testANRReporter]
 [testAwesomebar]
 [testAxisLocking]
--- a/testing/profiles/prefs_general.js
+++ b/testing/profiles/prefs_general.js
@@ -247,16 +247,17 @@ user_pref("dom.mozApps.debug", true);
 user_pref("browser.newtabpage.directory.source", 'data:application/json,{"testing":1}');
 user_pref("browser.newtabpage.directory.ping", "");
 
 // Enable Loop
 user_pref("loop.enabled", true);
 user_pref("loop.throttled", false);
 user_pref("loop.oauth.google.URL", "http://%(server)s/browser/browser/components/loop/test/mochitest/google_service.sjs?action=");
 user_pref("loop.oauth.google.getContactsURL", "http://%(server)s/browser/browser/components/loop/test/mochitest/google_service.sjs?action=contacts");
+user_pref("loop.oauth.google.getGroupsURL", "http://%(server)s/browser/browser/components/loop/test/mochitest/google_service.sjs?action=groups");
 user_pref("loop.CSP","default-src 'self' about: file: chrome: data: wss://* http://* https://*");
 
 // Ensure UITour won't hit the network
 user_pref("browser.uitour.pinnedTabUrl", "http://%(server)s/uitour-dummy/pinnedTab");
 user_pref("browser.uitour.url", "http://%(server)s/uitour-dummy/tour");
 
 user_pref("media.eme.enabled", true);
 
--- a/toolkit/content/widgets/browser.xml
+++ b/toolkit/content/widgets/browser.xml
@@ -128,24 +128,16 @@
         <parameter name="aReferrerURI"/>
         <parameter name="aCharset"/>
         <parameter name="aPostData"/>
         <body>
           <![CDATA[
             if (!aURI)
               aURI = "about:blank";
 
-            if (aCharset) {
-              try {
-                this.docShell.parentCharset = aCharset;
-              }
-              catch (e) {
-              }
-            }
-
             if (!(aFlags & this.webNavigation.LOAD_FLAGS_FROM_EXTERNAL))
               this.userTypedClear++;
 
             try {
               this.webNavigation.loadURI(aURI, aFlags, aReferrerURI, aPostData, null);
             } finally {
               if (this.userTypedClear)
                 this.userTypedClear--;