diff --git a/b2g/config/emulator-ics/sources.xml b/b2g/config/emulator-ics/sources.xml index 9f89b4574051..a692e51ec89c 100644 --- a/b2g/config/emulator-ics/sources.xml +++ b/b2g/config/emulator-ics/sources.xml @@ -12,7 +12,7 @@ - + @@ -91,7 +91,7 @@ - + diff --git a/b2g/config/emulator-jb/sources.xml b/b2g/config/emulator-jb/sources.xml index 48c3494a597a..f3952d90c940 100644 --- a/b2g/config/emulator-jb/sources.xml +++ b/b2g/config/emulator-jb/sources.xml @@ -11,7 +11,7 @@ - + diff --git a/b2g/config/emulator/sources.xml b/b2g/config/emulator/sources.xml index 9f89b4574051..a692e51ec89c 100644 --- a/b2g/config/emulator/sources.xml +++ b/b2g/config/emulator/sources.xml @@ -12,7 +12,7 @@ - + @@ -91,7 +91,7 @@ - + diff --git a/b2g/config/gaia.json b/b2g/config/gaia.json index 8b1a888e0085..eadb15e4b312 100644 --- a/b2g/config/gaia.json +++ b/b2g/config/gaia.json @@ -1,4 +1,4 @@ { - "revision": "8d15cd3ac0d07cde9ff36ce611ae47e6ef30d9b0", + "revision": "a8b221aeef715c5d8159faa5b31f3ee15e5c3c5a", "repo_path": "/integration/gaia-central" } diff --git a/b2g/config/hamachi/sources.xml b/b2g/config/hamachi/sources.xml index e23c51fd8549..22e99091ce11 100644 --- a/b2g/config/hamachi/sources.xml +++ b/b2g/config/hamachi/sources.xml @@ -11,7 +11,7 @@ - + diff --git a/b2g/config/helix/sources.xml b/b2g/config/helix/sources.xml index fb5df089ead5..75ce03d0f9a5 100644 --- a/b2g/config/helix/sources.xml +++ b/b2g/config/helix/sources.xml @@ -10,7 +10,7 @@ - + diff --git a/b2g/config/inari/sources.xml b/b2g/config/inari/sources.xml index e29cafb03970..3f201cf29f9d 100644 --- a/b2g/config/inari/sources.xml +++ b/b2g/config/inari/sources.xml @@ -12,7 +12,7 @@ - + diff --git a/b2g/config/leo/sources.xml b/b2g/config/leo/sources.xml index eecebdf6777e..c7dee538c373 100644 --- a/b2g/config/leo/sources.xml +++ b/b2g/config/leo/sources.xml @@ -11,7 +11,7 @@ - + diff --git a/b2g/config/mako/sources.xml b/b2g/config/mako/sources.xml index d62639c8da4b..967a65db38a1 100644 --- a/b2g/config/mako/sources.xml +++ b/b2g/config/mako/sources.xml @@ -11,7 +11,7 @@ - + diff --git a/b2g/config/wasabi/sources.xml b/b2g/config/wasabi/sources.xml index ac814e185830..bba979c7edd4 100644 --- a/b2g/config/wasabi/sources.xml +++ b/b2g/config/wasabi/sources.xml @@ -11,7 +11,7 @@ - + diff --git a/browser/app/profile/firefox.js b/browser/app/profile/firefox.js index f9bdb18d5a95..0fd204cc1838 100644 --- a/browser/app/profile/firefox.js +++ b/browser/app/profile/firefox.js @@ -468,7 +468,6 @@ pref("browser.tabs.closeButtons", 1); pref("browser.tabs.selectOwnerOnClose", true); pref("browser.ctrlTab.previews", false); -pref("browser.ctrlTab.recentlyUsedLimit", 7); // By default, do not export HTML at shutdown. // If true, at shutdown the bookmarks in your menu and toolbar will @@ -1371,6 +1370,9 @@ pref("identity.fxaccounts.remote.uri", "https://accounts.firefox.com/?service=sy // should be fetched. Must use HTTPS. pref("identity.fxaccounts.remote.force_auth.uri", "https://accounts.firefox.com/force_auth?service=sync&context=fx_desktop_v1"); +// 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.uri" pref. diff --git a/browser/base/content/aboutaccounts/aboutaccounts.js b/browser/base/content/aboutaccounts/aboutaccounts.js index 63a0e32cf3fd..bf6fc6cf5157 100644 --- a/browser/base/content/aboutaccounts/aboutaccounts.js +++ b/browser/base/content/aboutaccounts/aboutaccounts.js @@ -250,6 +250,9 @@ function openPrefs() { function init() { if (window.location.href.contains("action=signin")) { + show("remote"); + wrapper.init(fxAccounts.getAccountsSignInURI()); + } else if (window.location.href.contains("action=signup")) { show("remote"); wrapper.init(); } else if (window.location.href.contains("action=reauth")) { diff --git a/browser/base/content/browser-tabPreviews.js b/browser/base/content/browser-tabPreviews.js index eb2611b84100..1765511479b8 100644 --- a/browser/base/content/browser-tabPreviews.js +++ b/browser/base/content/browser-tabPreviews.js @@ -161,10 +161,6 @@ var ctrlTab = { delete this.previews; return this.previews = this.panel.getElementsByClassName("ctrlTab-preview"); }, - get recentlyUsedLimit () { - delete this.recentlyUsedLimit; - return this.recentlyUsedLimit = gPrefService.getIntPref("browser.ctrlTab.recentlyUsedLimit"); - }, get keys () { var keys = {}; ["close", "find", "selectAll"].forEach(function (key) { @@ -187,31 +183,7 @@ var ctrlTab = { get canvasHeight () Math.round(this.canvasWidth * tabPreviews.aspectRatio), get tabList () { - if (this._tabList) - return this._tabList; - - // Using gBrowser.tabs instead of gBrowser.visibleTabs, as the latter - // exlcudes closing tabs, breaking the following loop in case the the - // selected tab is closing. - let list = Array.filter(gBrowser.tabs, function (tab) !tab.hidden); - - // Rotate the list until the selected tab is first - while (!list[0].selected) - list.push(list.shift()); - - list = list.filter(function (tab) !tab.closing); - - if (this.recentlyUsedLimit != 0) { - let recentlyUsedTabs = this._recentlyUsedTabs; - if (this.recentlyUsedLimit > 0) - recentlyUsedTabs = this._recentlyUsedTabs.slice(0, this.recentlyUsedLimit); - for (let i = recentlyUsedTabs.length - 1; i >= 0; i--) { - list.splice(list.indexOf(recentlyUsedTabs[i]), 1); - list.unshift(recentlyUsedTabs[i]); - } - } - - return this._tabList = list; + return this._recentlyUsedTabs; }, init: function ctrlTab_init() { @@ -340,6 +312,9 @@ var ctrlTab = { }, attachTab: function ctrlTab_attachTab(aTab, aPos) { + if (aTab.closing) + return; + if (aPos == 0) this._recentlyUsedTabs.unshift(aTab); else if (aPos) @@ -347,6 +322,7 @@ var ctrlTab = { else this._recentlyUsedTabs.push(aTab); }, + detachTab: function ctrlTab_detachTab(aTab) { var i = this._recentlyUsedTabs.indexOf(aTab); if (i >= 0) @@ -417,8 +393,6 @@ var ctrlTab = { Array.forEach(this.previews, function (preview) { this.updatePreview(preview, null); }, this); - - this._tabList = null; }, onKeyPress: function ctrlTab_onKeyPress(event) { @@ -472,7 +446,6 @@ var ctrlTab = { return; } - this._tabList = null; this.updatePreviews(); if (this.selected.hidden) diff --git a/browser/components/preferences/connection.js b/browser/components/preferences/connection.js index 65fe12ff48ed..c2638ccc6de0 100644 --- a/browser/components/preferences/connection.js +++ b/browser/components/preferences/connection.js @@ -46,7 +46,7 @@ var gConnectionsDialog = { proxyTypeChanged: function () { var proxyTypePref = document.getElementById("network.proxy.type"); - + // Update http var httpProxyURLPref = document.getElementById("network.proxy.http"); httpProxyURLPref.disabled = proxyTypePref.value != 1; @@ -58,10 +58,11 @@ var gConnectionsDialog = { var shareProxiesPref = document.getElementById("network.proxy.share_proxy_settings"); shareProxiesPref.disabled = proxyTypePref.value != 1; - + var autologinProxyPref = document.getElementById("signon.autologin.proxy"); + autologinProxyPref.disabled = proxyTypePref.value == 0; var noProxiesPref = document.getElementById("network.proxy.no_proxies_on"); noProxiesPref.disabled = proxyTypePref.value != 1; - + var autoconfigURLPref = document.getElementById("network.proxy.autoconfig_url"); autoconfigURLPref.disabled = proxyTypePref.value != 2; diff --git a/browser/components/preferences/connection.xul b/browser/components/preferences/connection.xul index 389c7f20227c..7debc2bf801d 100644 --- a/browser/components/preferences/connection.xul +++ b/browser/components/preferences/connection.xul @@ -44,7 +44,10 @@ - + + @@ -159,6 +162,13 @@ + + + diff --git a/browser/components/preferences/sync.js b/browser/components/preferences/sync.js index df6ac223813a..40c3cd417956 100644 --- a/browser/components/preferences/sync.js +++ b/browser/components/preferences/sync.js @@ -256,6 +256,10 @@ let gSyncPane = { window.close(); }, + signUp: function() { + this.openContentInBrowser("about:accounts?action=signup"); + }, + signIn: function() { this.openContentInBrowser("about:accounts?action=signin"); }, diff --git a/browser/components/preferences/sync.xul b/browser/components/preferences/sync.xul index 2f274968cf23..efe0fc863d1b 100644 --- a/browser/components/preferences/sync.xul +++ b/browser/components/preferences/sync.xul @@ -188,7 +188,7 @@ &welcome.description;