From c2ddda3debced2d9cac0a554c2af2a70a4599663 Mon Sep 17 00:00:00 2001 From: Timothy Guan-tin Chien Date: Fri, 21 Jul 2017 12:42:19 +0800 Subject: [PATCH] Bug 1382649 - Take the process count value set by e10s rollout as the default in the about:preferences UI, r=evanxd,jaws,mrbkap When the user sets browser.preferences.defaultPerformanceSettings.enabled to false and want to set custom process count, we want to offer the process count value given by e10s rollout add-on as the default, instead of the default value of dom.ipc.processCount. MozReview-Commit-ID: 1hXWHA9j4xw --HG-- extra : rebase_source : 5d6001a5f0585b2cd98fbeb85493bb20482bc3df --- .../preferences/in-content-new/main.js | 19 ++++++++++++++++--- .../preferences/in-content-new/main.xul | 4 ++++ .../components/preferences/in-content/main.js | 19 ++++++++++++++++--- .../preferences/in-content/main.xul | 4 ++++ 4 files changed, 40 insertions(+), 6 deletions(-) diff --git a/browser/components/preferences/in-content-new/main.js b/browser/components/preferences/in-content-new/main.js index fbd86fb5f088..4c82838942f2 100644 --- a/browser/components/preferences/in-content-new/main.js +++ b/browser/components/preferences/in-content-new/main.js @@ -1118,13 +1118,22 @@ var gMainPane = { let defaultPerformancePref = document.getElementById("browser.preferences.defaultPerformanceSettings.enabled"); let performanceSettings = document.getElementById("performanceSettings"); + let processCountPref = document.getElementById("dom.ipc.processCount"); if (defaultPerformancePref.value) { - let processCountPref = document.getElementById("dom.ipc.processCount"); let accelerationPref = document.getElementById("layers.acceleration.disabled"); + // Unset the value so process count will be decided by e10s rollout. processCountPref.value = processCountPref.defaultValue; accelerationPref.value = accelerationPref.defaultValue; performanceSettings.hidden = true; } else { + let e10sRolloutProcessCountPref = + document.getElementById("dom.ipc.processCount.web"); + // Take the e10s rollout value as the default value (if it exists), + // but don't overwrite the user set value. + if (e10sRolloutProcessCountPref.value && + processCountPref.value == processCountPref.defaultValue) { + processCountPref.value = e10sRolloutProcessCountPref.value; + } performanceSettings.hidden = false; } }, @@ -1132,12 +1141,16 @@ var gMainPane = { buildContentProcessCountMenuList() { if (gMainPane.isE10SEnabled()) { let processCountPref = document.getElementById("dom.ipc.processCount"); + let e10sRolloutProcessCountPref = + document.getElementById("dom.ipc.processCount.web"); + let defaultProcessCount = + e10sRolloutProcessCountPref.value || processCountPref.defaultValue; let bundlePreferences = document.getElementById("bundlePreferences"); let label = bundlePreferences.getFormattedString("defaultContentProcessCount", - [processCountPref.defaultValue]); + [defaultProcessCount]); let contentProcessCount = document.querySelector(`#contentProcessCount > menupopup > - menuitem[value="${processCountPref.defaultValue}"]`); + menuitem[value="${defaultProcessCount}"]`); contentProcessCount.label = label; document.getElementById("limitContentProcess").disabled = false; diff --git a/browser/components/preferences/in-content-new/main.xul b/browser/components/preferences/in-content-new/main.xul index 5c43a11a5f9b..29e2edea79ad 100644 --- a/browser/components/preferences/in-content-new/main.xul +++ b/browser/components/preferences/in-content-new/main.xul @@ -184,6 +184,10 @@ name="dom.ipc.processCount" type="int"/> + + menupopup > - menuitem[value="${processCountPref.defaultValue}"]`); + menuitem[value="${defaultProcessCount}"]`); contentProcessCount.label = label; document.getElementById("limitContentProcess").disabled = false; diff --git a/browser/components/preferences/in-content/main.xul b/browser/components/preferences/in-content/main.xul index e2b875d915f3..7167b554bd2c 100644 --- a/browser/components/preferences/in-content/main.xul +++ b/browser/components/preferences/in-content/main.xul @@ -119,6 +119,10 @@ name="dom.ipc.processCount" type="int"/> + +