Bug 1364094 - Make defaultPerformancePref become true after changing processCountPref and accelerationPref at one time.
MozReview-Commit-ID: 7vBUqwzWOLv
--- 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");