Source code

Revision control

Copy as Markdown

Other Tools

Test Info: Errors

"use strict";
const PATH_NET = TEST_PATH + "file_dummy.html";
const PATH_ORG = PATH_NET.replace("example.net", "example.org");
add_task(async function () {
let tab1, tab1Zoom, tab2, tab2Zoom, tab3, tab3Zoom;
tab1 = await BrowserTestUtils.openNewForegroundTab(gBrowser, PATH_NET);
await FullZoom.enlarge();
tab1Zoom = ZoomManager.getZoomForBrowser(tab1.linkedBrowser);
tab2 = await BrowserTestUtils.openNewForegroundTab(gBrowser, PATH_NET);
tab2Zoom = ZoomManager.getZoomForBrowser(tab2.linkedBrowser);
is(
tab2Zoom,
tab1Zoom,
"privacy.resistFingerprinting is false, site-specific zoom level should be enabled"
);
await SpecialPowers.pushPrefEnv({
set: [["privacy.resistFingerprinting", true]],
});
tab3 = await BrowserTestUtils.openNewForegroundTab(gBrowser, PATH_NET);
tab3Zoom = ZoomManager.getZoomForBrowser(tab3.linkedBrowser);
isnot(
tab3Zoom,
tab1Zoom,
"privacy.resistFingerprinting is true, site-specific zoom level should be disabled"
);
await FullZoom.reset();
BrowserTestUtils.removeTab(tab1);
BrowserTestUtils.removeTab(tab2);
BrowserTestUtils.removeTab(tab3);
await SpecialPowers.popPrefEnv();
});
add_task(async function exempt_domain() {
let tab = await BrowserTestUtils.openNewForegroundTab(gBrowser, PATH_NET);
await FullZoom.enlarge();
const netZoomOriginal = ZoomManager.getZoomForBrowser(tab.linkedBrowser);
is(netZoomOriginal, 1.1, "Initial zoom is 110%");
await BrowserTestUtils.removeTab(tab);
tab = await BrowserTestUtils.openNewForegroundTab(gBrowser, PATH_ORG);
await FullZoom.enlarge();
const orgZoomOriginal = ZoomManager.getZoomForBrowser(tab.linkedBrowser);
is(orgZoomOriginal, 1.1, "Initial zoom is 110%");
await BrowserTestUtils.removeTab(tab);
await SpecialPowers.pushPrefEnv({
set: [
["privacy.resistFingerprinting.exemptedDomains", "example.net"],
["privacy.resistFingerprinting", true],
],
});
tab = await BrowserTestUtils.openNewForegroundTab(gBrowser, PATH_NET);
const netZoom = ZoomManager.getZoomForBrowser(tab.linkedBrowser);
is(netZoom, 1.1, "exempted example.net tab should have kept zoom level");
await FullZoom.reset();
await BrowserTestUtils.removeTab(tab);
tab = await BrowserTestUtils.openNewForegroundTab(gBrowser, PATH_ORG);
const orgZoom = ZoomManager.getZoomForBrowser(tab.linkedBrowser);
is(orgZoom, 1.0, "example.org tab has its zoom reset to default 100%");
await FullZoom.reset();
await BrowserTestUtils.removeTab(tab);
await SpecialPowers.popPrefEnv();
});