300 lines
8.2 KiB
JavaScript
300 lines
8.2 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 () {
|
|
// We must temporarily disable `Once` StaticPrefs check for the duration of
|
|
// this test (see bug 1556131). We must do so in a separate operation as
|
|
// pushPrefEnv doesn't set the preferences in the order one could expect.
|
|
await SpecialPowers.pushPrefEnv({
|
|
set: [["preferences.force-disable.check.once.policy", true]],
|
|
});
|
|
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 () {
|
|
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 allowHWAccel = doc.querySelector("#allowHWAccel");
|
|
let allowHWAccelPref = Services.prefs.getBoolPref(
|
|
"layers.acceleration.disabled"
|
|
);
|
|
is(
|
|
allowHWAccelPref,
|
|
DEFAULT_HW_ACCEL_PREF,
|
|
"pref value should be the default value before clicking on checkbox"
|
|
);
|
|
is(
|
|
allowHWAccel.checked,
|
|
!DEFAULT_HW_ACCEL_PREF,
|
|
"checkbox should show the invert of the default value"
|
|
);
|
|
|
|
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 value should be default value"
|
|
);
|
|
is(
|
|
contentProcessCount.selectedItem.value,
|
|
"" + DEFAULT_PROCESS_COUNT,
|
|
"selected item should be the default one"
|
|
);
|
|
|
|
allowHWAccel.click();
|
|
allowHWAccelPref = Services.prefs.getBoolPref("layers.acceleration.disabled");
|
|
is(
|
|
allowHWAccelPref,
|
|
!DEFAULT_HW_ACCEL_PREF,
|
|
"pref value should be opposite of the default value after clicking on checkbox"
|
|
);
|
|
is(
|
|
allowHWAccel.checked,
|
|
!allowHWAccelPref,
|
|
"checkbox should show the invert of the current value"
|
|
);
|
|
|
|
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();
|
|
allowHWAccelPref = Services.prefs.getBoolPref("layers.acceleration.disabled");
|
|
is(
|
|
allowHWAccelPref,
|
|
DEFAULT_HW_ACCEL_PREF,
|
|
"pref value should be the default value after clicking on checkbox"
|
|
);
|
|
is(
|
|
allowHWAccel.checked,
|
|
!allowHWAccelPref,
|
|
"checkbox should show the invert of the current value"
|
|
);
|
|
|
|
contentProcessCount.value = DEFAULT_PROCESS_COUNT;
|
|
contentProcessCount.doCommand();
|
|
is(
|
|
Services.prefs.getIntPref("dom.ipc.processCount"),
|
|
DEFAULT_PROCESS_COUNT,
|
|
"pref value should be default value"
|
|
);
|
|
is(
|
|
contentProcessCount.selectedItem.value,
|
|
"" + DEFAULT_PROCESS_COUNT,
|
|
"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
|
|
);
|
|
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
|
|
);
|
|
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"
|
|
);
|
|
|
|
Services.prefs.setBoolPref(
|
|
"browser.preferences.defaultPerformanceSettings.enabled",
|
|
true
|
|
);
|
|
BrowserTestUtils.removeTab(gBrowser.selectedTab);
|
|
});
|
|
|
|
add_task(async function () {
|
|
Services.prefs.setIntPref("dom.ipc.processCount", 7);
|
|
|
|
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 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
|
|
);
|
|
BrowserTestUtils.removeTab(gBrowser.selectedTab);
|
|
});
|
|
|
|
add_task(async function () {
|
|
Services.prefs.setBoolPref("layers.acceleration.disabled", true);
|
|
|
|
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 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
|
|
);
|
|
BrowserTestUtils.removeTab(gBrowser.selectedTab);
|
|
});
|