diff --git a/application/basilisk/app/profile/basilisk.js b/application/basilisk/app/profile/basilisk.js
index c1d2cae3be..c3a2c7f9bc 100644
--- a/application/basilisk/app/profile/basilisk.js
+++ b/application/basilisk/app/profile/basilisk.js
@@ -682,11 +682,7 @@ pref("browser.download.hide_plugins_without_extensions", true);
// 0 goes Back/Forward
// 1 act like PgUp/PgDown
// 2 and other values, nothing
-#ifdef UNIX_BUT_NOT_MAC
pref("browser.backspace_action", 2);
-#else
-pref("browser.backspace_action", 0);
-#endif
// this will automatically enable inline spellchecking (if it is available) for
// editable elements in HTML
@@ -922,6 +918,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.desktopbehavior", true);
pref("browser.tabs.remote.ignoreBlockPolicy", true);
// Number of web content processes used by e10s.
diff --git a/application/basilisk/base/content/browser-sets.inc b/application/basilisk/base/content/browser-sets.inc
index d6a9310ed7..d356cdf950 100644
--- a/application/basilisk/base/content/browser-sets.inc
+++ b/application/basilisk/base/content/browser-sets.inc
@@ -255,8 +255,8 @@
-
-
+
+
#ifndef XP_MACOSX
diff --git a/application/basilisk/base/content/browser.js b/application/basilisk/base/content/browser.js
index 485e47062f..7d897b1569 100644
--- a/application/basilisk/base/content/browser.js
+++ b/application/basilisk/base/content/browser.js
@@ -990,6 +990,18 @@ var gBrowserInit = {
XULBrowserWindow.init();
window.messageManager.addMessageListener("Browser:LoadURI", RedirectLoad);
+ if (gMultiProcessBrowser) {
+ // In e10s, let content handle Backspace directly to avoid chrome command
+ // interception breaking editable fields.
+ let backspaceKey = document.getElementById("key_handleBackspace");
+ let shiftBackspaceKey = document.getElementById("key_handleShiftBackspace");
+ if (backspaceKey) {
+ backspaceKey.setAttribute("disabled", "true");
+ }
+ if (shiftBackspaceKey) {
+ shiftBackspaceKey.setAttribute("disabled", "true");
+ }
+ }
if (!gMultiProcessBrowser) {
// There is a Content:Click message manually sent from content.
diff --git a/application/basilisk/base/content/content.js b/application/basilisk/base/content/content.js
index b9278428d3..0ddb15988d 100644
--- a/application/basilisk/base/content/content.js
+++ b/application/basilisk/base/content/content.js
@@ -63,6 +63,7 @@ addMessageListener("ContextMenu:DoCustomCommand", function(message) {
addMessageListener("RemoteLogins:fillForm", function(message) {
LoginManagerContent.receiveMessage(message, content);
});
+
addEventListener("DOMFormHasPassword", function(event) {
LoginManagerContent.onDOMFormHasPassword(event, content);
let formLike = LoginFormFactory.createFromForm(event.target);
diff --git a/application/basilisk/components/preferences/in-content/advanced.js b/application/basilisk/components/preferences/in-content/advanced.js
index e481042cce..027fdc1a77 100644
--- a/application/basilisk/components/preferences/in-content/advanced.js
+++ b/application/basilisk/components/preferences/in-content/advanced.js
@@ -178,14 +178,17 @@ var gAdvancedPane = {
readE10sEnabled: function ()
{
+ 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;
- return !!(autostart || trialAutostart);
+ return !!(forceEnable || autostart || trialAutostart);
},
writeE10sEnabled: function ()
{
let enabled = document.getElementById("e10sEnabled").checked;
+ 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;
return enabled;
},
@@ -205,6 +208,7 @@ var gAdvancedPane = {
let buttonIndex = confirmRestartPrompt(enabled, 1, true, false);
if (buttonIndex == CONFIRM_RESTART_PROMPT_RESTART_NOW) {
+ 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;
let appStartup = Cc["@mozilla.org/toolkit/app-startup;1"]
@@ -215,6 +219,7 @@ var gAdvancedPane = {
this._shouldPromptForE10sRestart = false;
checkbox.checked = 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;
this._shouldPromptForE10sRestart = true;
diff --git a/application/basilisk/components/preferences/in-content/advanced.xul b/application/basilisk/components/preferences/in-content/advanced.xul
index 5637c619b5..19aeaaad83 100644
--- a/application/basilisk/components/preferences/in-content/advanced.xul
+++ b/application/basilisk/components/preferences/in-content/advanced.xul
@@ -52,6 +52,9 @@
+