fune/browser/components/preferences/in-content/tests/browser_performance_e10srollout.js
Eric Rahm 299aa5eba5 Bug 1470280 - Part 4: Increase process count to 8 on Nightly. r=felipe
This increases the default amount of content processes on nightly to 8. It
is nightly only and will not ride the trains.

--HG--
extra : rebase_source : 54bfae28921240d985957d59bf64ca91bd6a0f19
extra : intermediate-source : 72e7ef77480d0845ceabb5d3747a5523db6bda9d
extra : source : d5375325488f449c45dd032bc8167ebebca07497
2018-10-04 14:44:22 -07:00

76 lines
3.9 KiB
JavaScript

const DEFAULT_HW_ACCEL_PREF = Services.prefs.getDefaultBranch(null).getBoolPref("layers.acceleration.disabled");
const DEFAULT_PROCESS_COUNT = Services.prefs.getDefaultBranch(null).getIntPref("dom.ipc.processCount");
add_task(async function() {
await SpecialPowers.pushPrefEnv({set: [
["layers.acceleration.disabled", DEFAULT_HW_ACCEL_PREF],
["dom.ipc.processCount", DEFAULT_PROCESS_COUNT],
["browser.preferences.defaultPerformanceSettings.enabled", true],
]});
});
add_task(async function testPrefsAreDefault() {
Services.prefs.setIntPref("dom.ipc.processCount", DEFAULT_PROCESS_COUNT);
Services.prefs.setBoolPref("browser.preferences.defaultPerformanceSettings.enabled", true);
let prefs = await 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 contentProcessCount = doc.querySelector("#contentProcessCount");
is(contentProcessCount.disabled, false, "process count control should be enabled");
is(Services.prefs.getIntPref("dom.ipc.processCount"), DEFAULT_PROCESS_COUNT, "default pref should be default value");
is(contentProcessCount.selectedItem.value, DEFAULT_PROCESS_COUNT, "selected item should be the default one");
BrowserTestUtils.removeTab(gBrowser.selectedTab);
Services.prefs.clearUserPref("dom.ipc.processCount");
Services.prefs.setBoolPref("browser.preferences.defaultPerformanceSettings.enabled", true);
});
add_task(async function testPrefsSetByUser() {
const kNewCount = DEFAULT_PROCESS_COUNT - 2;
Services.prefs.setIntPref("dom.ipc.processCount", kNewCount);
Services.prefs.setBoolPref("browser.preferences.defaultPerformanceSettings.enabled", false);
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, false, "performance settings section is shown");
let contentProcessCount = doc.querySelector("#contentProcessCount");
is(contentProcessCount.disabled, false, "process count control should be enabled");
is(Services.prefs.getIntPref("dom.ipc.processCount"), kNewCount, "process count should be the set value");
is(contentProcessCount.selectedItem.value, kNewCount, "selected item should be the set one");
let useRecommendedPerformanceSettings = doc.querySelector("#useRecommendedPerformanceSettings");
useRecommendedPerformanceSettings.click();
is(Services.prefs.getBoolPref("browser.preferences.defaultPerformanceSettings.enabled"), true,
"pref value should be true after clicking on checkbox");
is(Services.prefs.getIntPref("dom.ipc.processCount"), DEFAULT_PROCESS_COUNT,
"process count should be default value");
BrowserTestUtils.removeTab(gBrowser.selectedTab);
Services.prefs.clearUserPref("dom.ipc.processCount");
Services.prefs.setBoolPref("browser.preferences.defaultPerformanceSettings.enabled", true);
});