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