From f342f6ce122895ab2959a45d827d022ecca9710f Mon Sep 17 00:00:00 2001 From: ownedbywuigi Date: Sun, 29 Mar 2026 23:00:40 +0100 Subject: [PATCH] Revert one process per tab, regression in backspace handling --- application/basilisk/app/profile/basilisk.js | 6 ++---- dom/ipc/ContentParent.cpp | 10 +--------- toolkit/xre/nsAppRunner.cpp | 9 +++------ 3 files changed, 6 insertions(+), 19 deletions(-) diff --git a/application/basilisk/app/profile/basilisk.js b/application/basilisk/app/profile/basilisk.js index 80a7127652..c1d2cae3be 100644 --- a/application/basilisk/app/profile/basilisk.js +++ b/application/basilisk/app/profile/basilisk.js @@ -924,10 +924,8 @@ pref("dom.ipc.shims.enabledWarnings", false); pref("browser.tabs.remote.autostart", true); pref("browser.tabs.remote.desktopbehavior", true); pref("browser.tabs.remote.ignoreBlockPolicy", true); -// -1 means automatic tab-isolation mode: try one process per tab. -pref("dom.ipc.processCount", -1); -// Safety ceiling used by automatic tab-isolation mode. -pref("dom.ipc.processCount.webIsolatedMax", 64); +// Number of web content processes used by e10s. +pref("dom.ipc.processCount", 2); // This pref governs whether we attempt to work around problems caused by // plugins using OS calls to manipulate the cursor while running out-of- diff --git a/dom/ipc/ContentParent.cpp b/dom/ipc/ContentParent.cpp index 8577af7b8c..6dab0bbc82 100644 --- a/dom/ipc/ContentParent.cpp +++ b/dom/ipc/ContentParent.cpp @@ -574,7 +574,6 @@ ContentParent::GetNewOrUsedBrowserProcess(bool aForBrowserElement, { nsTArray* contentParents; int32_t maxContentParents; - bool preferDedicatedProcess = false; // Decide which pool of content parents we are going to be pulling from based // on the aLargeAllocationProcess flag. @@ -592,20 +591,13 @@ ContentParent::GetNewOrUsedBrowserProcess(bool aForBrowserElement, contentParents = sBrowserContentParents; maxContentParents = Preferences::GetInt("dom.ipc.processCount", 1); - if (maxContentParents == -1) { - // Automatic mode: create a dedicated content process per new tab until - // a safety ceiling is reached, then reuse existing processes. - preferDedicatedProcess = true; - maxContentParents = Preferences::GetInt("dom.ipc.processCount.webIsolatedMax", 64); - } } if (maxContentParents < 1) { maxContentParents = 1; } - if (!preferDedicatedProcess || - contentParents->Length() >= uint32_t(maxContentParents)) { + if (contentParents->Length() >= uint32_t(maxContentParents)) { uint32_t maxSelectable = std::min(static_cast(contentParents->Length()), static_cast(maxContentParents)); uint32_t startIdx = rand() % maxSelectable; diff --git a/toolkit/xre/nsAppRunner.cpp b/toolkit/xre/nsAppRunner.cpp index c04b8f6034..c11ca26c40 100644 --- a/toolkit/xre/nsAppRunner.cpp +++ b/toolkit/xre/nsAppRunner.cpp @@ -4203,12 +4203,6 @@ MultiprocessBlockPolicy() { } gMultiprocessBlockPolicyInitialized = true; - // Allow downstream applications to bypass legacy e10s block policies. - // This is evaluated at startup and requires restart to take effect. - if (Preferences::GetBool("browser.tabs.remote.ignoreBlockPolicy", false)) { - return gMultiprocessBlockPolicy; - } - /** * Avoids enabling e10s if there are add-ons installed. */ @@ -4252,6 +4246,9 @@ MultiprocessBlockPolicy() { gMultiprocessBlockPolicy = kE10sDisabledForAccessibility; } #endif + + // We do not support E10S, block by policy. + gMultiprocessBlockPolicy = kE10sForceDisabled; return gMultiprocessBlockPolicy; }