Bug 1364094 - Make defaultPerformancePref become true after changing processCountPref and accelerationPref at one time. draft
authorEvan Tseng <evan@tseng.io>
Thu, 11 May 2017 11:14:08 -0400
changeset 583520 efd2db71d10b2ae354318fbf25712c20e767a692
parent 583335 96e18bec9fc8a5ce623c16167c12756bbe190d73
child 630088 2f952427cd3751d1a275671dfc83712b6c3e23d8
push id60425
push userbmo:evan@tseng.io
push dateWed, 24 May 2017 06:48:16 +0000
bugs1364094
milestone55.0a1
Bug 1364094 - Make defaultPerformancePref become true after changing processCountPref and accelerationPref at one time. MozReview-Commit-ID: 7vBUqwzWOLv
browser/components/preferences/in-content-old/main.js
browser/components/preferences/in-content-old/tests/browser_performance.js
browser/components/preferences/in-content/main.js
browser/components/preferences/in-content/tests/browser_performance.js
--- a/browser/components/preferences/in-content-old/main.js
+++ b/browser/components/preferences/in-content-old/main.js
@@ -40,26 +40,16 @@ var gMainPane = {
         // when the user will select the default.  We refresh here periodically
         // in case the default changes. On other Windows OS's defaults can also
         // be set while the prefs are open.
         window.setInterval(this.updateSetDefaultBrowser.bind(this), 1000);
       }
     }
 
     this.buildContentProcessCountMenuList();
-    let processCountPref =
-      document.getElementById("dom.ipc.processCount");
-    processCountPref.addEventListener("change", () => {
-      this.updateDefaultPerformanceSettingsPref();
-    });
-    let accelerationPref =
-      document.getElementById("layers.acceleration.disabled");
-    accelerationPref.addEventListener("change", () => {
-      this.updateDefaultPerformanceSettingsPref();
-    });
     this.updateDefaultPerformanceSettingsPref();
 
     let defaultPerformancePref =
       document.getElementById("browser.preferences.defaultPerformanceSettings.enabled");
     defaultPerformancePref.addEventListener("change", () => {
       this.updatePerformanceSettingsBox();
     });
     this.updatePerformanceSettingsBox();
--- a/browser/components/preferences/in-content-old/tests/browser_performance.js
+++ b/browser/components/preferences/in-content-old/tests/browser_performance.js
@@ -67,16 +67,41 @@ add_task(function*() {
   yield BrowserTestUtils.removeTab(gBrowser.selectedTab);
 });
 
 add_task(function*() {
   let prefs = yield openPreferencesViaOpenPreferencesAPI("paneGeneral", null, {leaveOpen: true});
   is(prefs.selectedPane, "paneGeneral", "General pane was selected");
 
   let doc = gBrowser.contentDocument;
+  let useRecommendedPerformanceSettings = doc.querySelector("#useRecommendedPerformanceSettings");
+  let allowHWAccel = doc.querySelector("#allowHWAccel");
+  let contentProcessCount = doc.querySelector("#contentProcessCount");
+  let performanceSettings = doc.querySelector("#performanceSettings");
+
+  useRecommendedPerformanceSettings.click();
+  allowHWAccel.click();
+  contentProcessCount.value = 7;
+  contentProcessCount.doCommand();
+  useRecommendedPerformanceSettings.click();
+
+  is(Services.prefs.getBoolPref("browser.preferences.defaultPerformanceSettings.enabled"), true,
+    "pref value should be true before clicking on checkbox");
+  ok(useRecommendedPerformanceSettings.checked, "checkbox should be checked before clicking on checkbox");
+  is(performanceSettings.hidden, true, "performance settings section should be still shown");
+
+  Services.prefs.setBoolPref("browser.preferences.defaultPerformanceSettings.enabled", true);
+  yield BrowserTestUtils.removeTab(gBrowser.selectedTab);
+});
+
+add_task(function*() {
+  let prefs = yield openPreferencesViaOpenPreferencesAPI("paneGeneral", null, {leaveOpen: true});
+  is(prefs.selectedPane, "paneGeneral", "General pane was selected");
+
+  let doc = gBrowser.contentDocument;
   let performanceSettings = doc.querySelector("#performanceSettings");
 
   is(performanceSettings.hidden, true, "performance settings section should not be shown");
 
   Services.prefs.setBoolPref("browser.preferences.defaultPerformanceSettings.enabled", false);
 
   is(performanceSettings.hidden, false, "performance settings section should be shown");
 
--- a/browser/components/preferences/in-content/main.js
+++ b/browser/components/preferences/in-content/main.js
@@ -91,26 +91,16 @@ var gMainPane = {
 
     let suggestsPref =
       document.getElementById("browser.search.suggest.enabled");
     suggestsPref.addEventListener("change", () => {
       this.updateSuggestsCheckbox();
     });
     this.updateSuggestsCheckbox();
 
-    let processCountPref =
-      document.getElementById("dom.ipc.processCount");
-    processCountPref.addEventListener("change", () => {
-      this.updateDefaultPerformanceSettingsPref();
-    });
-    let accelerationPref =
-      document.getElementById("layers.acceleration.disabled");
-    accelerationPref.addEventListener("change", () => {
-      this.updateDefaultPerformanceSettingsPref();
-    });
     this.updateDefaultPerformanceSettingsPref();
 
     let defaultPerformancePref =
       document.getElementById("browser.preferences.defaultPerformanceSettings.enabled");
     defaultPerformancePref.addEventListener("change", () => {
       this.updatePerformanceSettingsBox();
     });
     this.updatePerformanceSettingsBox();
--- a/browser/components/preferences/in-content/tests/browser_performance.js
+++ b/browser/components/preferences/in-content/tests/browser_performance.js
@@ -67,16 +67,41 @@ add_task(async function() {
   await BrowserTestUtils.removeTab(gBrowser.selectedTab);
 });
 
 add_task(async function() {
   let prefs = await openPreferencesViaOpenPreferencesAPI("paneGeneral", {leaveOpen: true});
   is(prefs.selectedPane, "paneGeneral", "General pane was selected");
 
   let doc = gBrowser.contentDocument;
+  let useRecommendedPerformanceSettings = doc.querySelector("#useRecommendedPerformanceSettings");
+  let allowHWAccel = doc.querySelector("#allowHWAccel");
+  let contentProcessCount = doc.querySelector("#contentProcessCount");
+  let performanceSettings = doc.querySelector("#performanceSettings");
+
+  useRecommendedPerformanceSettings.click();
+  allowHWAccel.click();
+  contentProcessCount.value = 7;
+  contentProcessCount.doCommand();
+  useRecommendedPerformanceSettings.click();
+
+  is(Services.prefs.getBoolPref("browser.preferences.defaultPerformanceSettings.enabled"), true,
+    "pref value should be true before clicking on checkbox");
+  ok(useRecommendedPerformanceSettings.checked, "checkbox should be checked before clicking on checkbox");
+  is(performanceSettings.hidden, true, "performance settings section should be still shown");
+
+  Services.prefs.setBoolPref("browser.preferences.defaultPerformanceSettings.enabled", true);
+  await BrowserTestUtils.removeTab(gBrowser.selectedTab);
+});
+
+add_task(async function() {
+  let prefs = await openPreferencesViaOpenPreferencesAPI("paneGeneral", {leaveOpen: true});
+  is(prefs.selectedPane, "paneGeneral", "General pane was selected");
+
+  let doc = gBrowser.contentDocument;
   let performanceSettings = doc.querySelector("#performanceSettings");
 
   is(performanceSettings.hidden, true, "performance settings section should not be shown");
 
   Services.prefs.setBoolPref("browser.preferences.defaultPerformanceSettings.enabled", false);
 
   is(performanceSettings.hidden, false, "performance settings section should be shown");