diff --git a/application/basilisk/app/profile/basilisk.js b/application/basilisk/app/profile/basilisk.js index c3a2c7f9bc..f66436d3c9 100644 --- a/application/basilisk/app/profile/basilisk.js +++ b/application/basilisk/app/profile/basilisk.js @@ -919,6 +919,7 @@ pref("dom.ipc.shims.enabledWarnings", false); // Start the browser in e10s mode pref("browser.tabs.remote.autostart", true); pref("browser.tabs.remote.force-enable", true); +pref("browser.tabs.remote.force-disable", false); pref("browser.tabs.remote.desktopbehavior", true); pref("browser.tabs.remote.ignoreBlockPolicy", true); // Number of web content processes used by e10s. diff --git a/application/basilisk/components/preferences/in-content/advanced.js b/application/basilisk/components/preferences/in-content/advanced.js index 027fdc1a77..0439f8c334 100644 --- a/application/basilisk/components/preferences/in-content/advanced.js +++ b/application/basilisk/components/preferences/in-content/advanced.js @@ -178,15 +178,20 @@ var gAdvancedPane = { readE10sEnabled: function () { + let forceDisable = document.getElementById("browser.tabs.remote.force-disable").value; let forceEnable = document.getElementById("browser.tabs.remote.force-enable").value; let autostart = document.getElementById("browser.tabs.remote.autostart").value; let trialAutostart = document.getElementById("browser.tabs.remote.autostart.2").value; + if (forceDisable) { + return false; + } return !!(forceEnable || autostart || trialAutostart); }, writeE10sEnabled: function () { let enabled = document.getElementById("e10sEnabled").checked; + document.getElementById("browser.tabs.remote.force-disable").value = !enabled; document.getElementById("browser.tabs.remote.force-enable").value = enabled; document.getElementById("browser.tabs.remote.autostart").value = enabled; document.getElementById("browser.tabs.remote.autostart.2").value = enabled; @@ -208,6 +213,7 @@ var gAdvancedPane = { let buttonIndex = confirmRestartPrompt(enabled, 1, true, false); if (buttonIndex == CONFIRM_RESTART_PROMPT_RESTART_NOW) { + document.getElementById("browser.tabs.remote.force-disable").value = !enabled; document.getElementById("browser.tabs.remote.force-enable").value = enabled; document.getElementById("browser.tabs.remote.autostart").value = enabled; document.getElementById("browser.tabs.remote.autostart.2").value = enabled; @@ -219,6 +225,7 @@ var gAdvancedPane = { this._shouldPromptForE10sRestart = false; checkbox.checked = this._storedE10sEnabled; + document.getElementById("browser.tabs.remote.force-disable").value = !this._storedE10sEnabled; document.getElementById("browser.tabs.remote.force-enable").value = this._storedE10sEnabled; document.getElementById("browser.tabs.remote.autostart").value = this._storedE10sEnabled; document.getElementById("browser.tabs.remote.autostart.2").value = this._storedE10sEnabled; diff --git a/application/basilisk/components/preferences/in-content/advanced.xul b/application/basilisk/components/preferences/in-content/advanced.xul index 19aeaaad83..3975717534 100644 --- a/application/basilisk/components/preferences/in-content/advanced.xul +++ b/application/basilisk/components/preferences/in-content/advanced.xul @@ -55,6 +55,9 @@ +