Revert one process per tab, regression in backspace handling

This commit is contained in:
ownedbywuigi 2026-03-29 23:00:40 +01:00
commit f342f6ce12
3 changed files with 6 additions and 19 deletions

View file

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

View file

@ -574,7 +574,6 @@ ContentParent::GetNewOrUsedBrowserProcess(bool aForBrowserElement,
{
nsTArray<ContentParent*>* 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<uint32_t>(contentParents->Length()),
static_cast<uint32_t>(maxContentParents));
uint32_t startIdx = rand() % maxSelectable;

View file

@ -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;
}