62 lines
1.6 KiB
JavaScript
62 lines
1.6 KiB
JavaScript
/* 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
|
|
* file, You can obtain one at https://mozilla.org/MPL/2.0/. */
|
|
|
|
const emptyPage =
|
|
getRootDirectory(gTestPath).replace(
|
|
"chrome://mochitests/content",
|
|
"https://example.com"
|
|
) + "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],
|
|
]);
|
|
});
|