Source code
Revision control
Copy as Markdown
Other Tools
Test Info:
/* Any copyright is dedicated to the Public Domain.
"use strict";
const CAT_PREF = "browser.contentblocking.category";
const BASELINE_PREF = "privacy.trackingprotection.allow_list.baseline.enabled";
const CONVENIENCE_PREF =
"privacy.trackingprotection.allow_list.convenience.enabled";
add_setup(async function () {
await SpecialPowers.pushPrefEnv({
set: [["browser.settings-redesign.enabled", true]],
});
});
add_task(async function test_etp_reset_buttons_update_category() {
await SpecialPowers.pushPrefEnv({
set: [[CAT_PREF, "standard"]],
});
let { doc } = await openEtpCustomizePage();
let standardButton = getControl(doc, "etpResetStandardButton");
let strictButton = getControl(doc, "etpResetStrictButton");
ok(standardButton.disabled, "Standard reset button disabled on standard");
ok(!strictButton.disabled, "Strict reset button enabled");
let prefChange = waitForAndAssertPrefState(
CAT_PREF,
"strict",
"ETP category pref switched to strict"
);
synthesizeClick(strictButton);
await prefChange;
ok(strictButton.disabled, "Strict reset button disabled after use");
ok(
!standardButton.disabled,
"Standard reset button enabled after switching to strict"
);
prefChange = waitForAndAssertPrefState(
CAT_PREF,
"standard",
"ETP category pref switched back to standard"
);
synthesizeClick(standardButton);
await prefChange;
gBrowser.removeCurrentTab();
});
add_task(async function test_custom_allow_list_controls_match_old_behavior() {
await SpecialPowers.pushPrefEnv({
set: [
[CAT_PREF, "custom"],
[BASELINE_PREF, true],
[CONVENIENCE_PREF, true],
],
});
let { doc } = await openEtpCustomizePage();
let baselineCheckbox = getControl(doc, "etpAllowListBaselineEnabledCustom");
let convenienceCheckbox = getControl(
doc,
"etpAllowListConvenienceEnabledCustom"
);
ok(baselineCheckbox.checked, "Custom baseline checkbox starts checked");
await clickEtpBaselineCheckboxWithConfirm(
doc,
"etpAllowListBaselineEnabledCustom",
BASELINE_PREF,
false,
1
);
ok(
!Services.prefs.getBoolPref(BASELINE_PREF),
"Baseline pref disabled from custom controls"
);
ok(
convenienceCheckbox.parentDisabled,
"Custom convenience checkbox disabled when baseline unchecked"
);
let baselinePrefChange = waitForAndAssertPrefState(
BASELINE_PREF,
true,
"Baseline pref restored"
);
synthesizeClick(baselineCheckbox);
await baselinePrefChange;
await BrowserTestUtils.waitForCondition(
() => !convenienceCheckbox.parentDisabled,
"Custom convenience checkbox enabled once baseline rechecked"
);
gBrowser.removeCurrentTab();
});