summaryrefslogtreecommitdiffstats
path: root/browser/components/resistfingerprinting/test/browser/browser_bug1369357_site_specific_zoom_level.js
diff options
context:
space:
mode:
Diffstat (limited to 'browser/components/resistfingerprinting/test/browser/browser_bug1369357_site_specific_zoom_level.js')
-rw-r--r--browser/components/resistfingerprinting/test/browser/browser_bug1369357_site_specific_zoom_level.js77
1 files changed, 77 insertions, 0 deletions
diff --git a/browser/components/resistfingerprinting/test/browser/browser_bug1369357_site_specific_zoom_level.js b/browser/components/resistfingerprinting/test/browser/browser_bug1369357_site_specific_zoom_level.js
new file mode 100644
index 0000000000..f549c71bf0
--- /dev/null
+++ b/browser/components/resistfingerprinting/test/browser/browser_bug1369357_site_specific_zoom_level.js
@@ -0,0 +1,77 @@
+"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();
+});