fune/browser/components/preferences/in-content/tests/browser_performance.js
Evan Tseng 00cfc78b04 Bug 1357348 - Add the performance section to set the hardware acceleration and content process count prefs, r=jaws
MozReview-Commit-ID: IendRIuWP85

--HG--
extra : rebase_source : 8cb38edc572825debfb88a4e9b425462a3ebc099
2017-04-19 12:02:34 +08:00

116 lines
5.2 KiB
JavaScript

SpecialPowers.pushPrefEnv({set: [
["browser.preferences.defaultPerformanceSettings.enabled", true],
["dom.ipc.processCount", 4],
["layers.acceleration.disabled", false],
]});
add_task(function*() {
let prefs = yield openPreferencesViaOpenPreferencesAPI("paneGeneral", {leaveOpen: true});
is(prefs.selectedPane, "paneGeneral", "General pane was selected");
let doc = gBrowser.contentDocument;
let useRecommendedPerformanceSettings = doc.querySelector("#useRecommendedPerformanceSettings");
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");
useRecommendedPerformanceSettings.click();
let performanceSettings = doc.querySelector("#performanceSettings");
is(performanceSettings.hidden, false, "performance settings section is shown");
is(Services.prefs.getBoolPref("browser.preferences.defaultPerformanceSettings.enabled"), false,
"pref value should be false after clicking on checkbox");
ok(!useRecommendedPerformanceSettings.checked, "checkbox should not be checked after clicking on checkbox");
let allowHWAccel = doc.querySelector("#allowHWAccel");
is(Services.prefs.getBoolPref("layers.acceleration.disabled"), false,
"pref value should be false before clicking on checkbox");
ok(allowHWAccel.checked, "checkbox should be checked");
let contentProcessCount = doc.querySelector("#contentProcessCount");
is(Services.prefs.getIntPref("dom.ipc.processCount"), 4, "default pref value should be default value");
is(contentProcessCount.selectedItem.value, 4, "selected item should be the default one");
allowHWAccel.click();
is(Services.prefs.getBoolPref("layers.acceleration.disabled"), true,
"pref value should be true after clicking on checkbox");
ok(!allowHWAccel.checked, "checkbox should not be checked");
contentProcessCount.value = 7;
contentProcessCount.doCommand();
is(Services.prefs.getIntPref("dom.ipc.processCount"), 7, "pref value should be 7");
is(contentProcessCount.selectedItem.value, 7, "selected item should be 7");
allowHWAccel.click();
is(Services.prefs.getBoolPref("layers.acceleration.disabled"), false,
"pref value should be false after clicking on checkbox");
ok(allowHWAccel.checked, "checkbox should not be checked");
contentProcessCount.value = 4;
contentProcessCount.doCommand();
is(Services.prefs.getIntPref("dom.ipc.processCount"), 4, "pref value should be default value");
is(contentProcessCount.selectedItem.value, 4, "selected item should be default one");
is(performanceSettings.hidden, false, "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", {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");
Services.prefs.setBoolPref("browser.preferences.defaultPerformanceSettings.enabled", true);
yield BrowserTestUtils.removeTab(gBrowser.selectedTab);
});
add_task(function*() {
Services.prefs.setIntPref("dom.ipc.processCount", 7);
let prefs = yield openPreferencesViaOpenPreferencesAPI("paneGeneral", {leaveOpen: true});
is(prefs.selectedPane, "paneGeneral", "General pane was selected");
let doc = gBrowser.contentDocument;
let performanceSettings = doc.querySelector("#performanceSettings");
is(performanceSettings.hidden, false, "performance settings section should be shown");
let contentProcessCount = doc.querySelector("#contentProcessCount");
is(Services.prefs.getIntPref("dom.ipc.processCount"), 7, "pref value should be 7");
is(contentProcessCount.selectedItem.value, 7, "selected item should be 7");
Services.prefs.setBoolPref("browser.preferences.defaultPerformanceSettings.enabled", true);
yield BrowserTestUtils.removeTab(gBrowser.selectedTab);
});
add_task(function*() {
Services.prefs.setBoolPref("layers.acceleration.disabled", true);
let prefs = yield openPreferencesViaOpenPreferencesAPI("paneGeneral", {leaveOpen: true});
is(prefs.selectedPane, "paneGeneral", "General pane was selected");
let doc = gBrowser.contentDocument;
let performanceSettings = doc.querySelector("#performanceSettings");
is(performanceSettings.hidden, false, "performance settings section should be shown");
let allowHWAccel = doc.querySelector("#allowHWAccel");
is(Services.prefs.getBoolPref("layers.acceleration.disabled"), true,
"pref value is false");
ok(!allowHWAccel.checked, "checkbox should not be checked");
Services.prefs.setBoolPref("browser.preferences.defaultPerformanceSettings.enabled", true);
yield BrowserTestUtils.removeTab(gBrowser.selectedTab);
});