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 @@
+