Source code
Revision control
Copy as Markdown
Other Tools
Test Info:
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
const emptyPage =
getRootDirectory(gTestPath).replace(
) + "empty.html";
const spoofedLocale = "en-US";
const alternativeLocale = "tr-TR";
const getDateString = async () => {
const tab = await BrowserTestUtils.openNewForegroundTab({
gBrowser,
emptyPage,
});
const locale = await SpecialPowers.spawn(
tab.linkedBrowser,
[alternativeLocale],
function (locale) {
SpecialPowers.Cu.getJSTestingFunctions().setDefaultLocale(locale);
return content.eval(`Intl.DateTimeFormat().resolvedOptions().locale`);
}
);
await BrowserTestUtils.removeTab(tab);
return locale;
};
const testWithPrefs = async prefs => {
const locale = await getDateString();
is(locale, alternativeLocale, "Locale is set to tr-TR");
await SpecialPowers.pushPrefEnv({
set: prefs,
});
const localeRFP = await getDateString();
is(localeRFP, spoofedLocale, "Locale is set to en-US");
await SpecialPowers.popPrefEnv();
};
add_task(async function test_rfp() {
await testWithPrefs([
["privacy.resistFingerprinting", true],
["privacy.spoof_english", 2],
]);
});
add_task(async function test_fpp() {
await testWithPrefs([
["privacy.fingerprintingProtection", true],
["privacy.fingerprintingProtection.overrides", "-AllTargets,+JSLocale"],
["privacy.spoof_english", 2],
]);
});