summaryrefslogtreecommitdiffstats
path: root/browser/components/resistfingerprinting/test/browser/browser_roundedWindow_newWindow.js
diff options
context:
space:
mode:
Diffstat (limited to 'browser/components/resistfingerprinting/test/browser/browser_roundedWindow_newWindow.js')
-rw-r--r--browser/components/resistfingerprinting/test/browser/browser_roundedWindow_newWindow.js62
1 files changed, 62 insertions, 0 deletions
diff --git a/browser/components/resistfingerprinting/test/browser/browser_roundedWindow_newWindow.js b/browser/components/resistfingerprinting/test/browser/browser_roundedWindow_newWindow.js
new file mode 100644
index 0000000000..ea22c7fa20
--- /dev/null
+++ b/browser/components/resistfingerprinting/test/browser/browser_roundedWindow_newWindow.js
@@ -0,0 +1,62 @@
+/*
+ * Bug 1330882 - A test case for opening new windows as rounded size when
+ * fingerprinting resistance is enabled.
+ */
+
+const CC = Components.Constructor;
+
+let gMaxAvailWidth;
+let gMaxAvailHeight;
+
+add_setup(async function () {
+ await SpecialPowers.pushPrefEnv({
+ set: [["privacy.resistFingerprinting", true]],
+ });
+
+ // Calculate the maximum available size.
+ let maxAvailSize = await calcMaximumAvailSize();
+
+ gMaxAvailWidth = maxAvailSize.maxAvailWidth;
+ gMaxAvailHeight = maxAvailSize.maxAvailHeight;
+});
+
+add_task(async function test_new_window() {
+ // Open a new window.
+ let win = await BrowserTestUtils.openNewBrowserWindow();
+
+ // Load a page and verify its window size.
+ let tab = await BrowserTestUtils.openNewForegroundTab(
+ win.gBrowser,
+ TEST_PATH + "file_dummy.html"
+ );
+
+ await SpecialPowers.spawn(
+ tab.linkedBrowser,
+ [{ gMaxAvailWidth, gMaxAvailHeight }],
+ async function (input) {
+ is(
+ content.screen.width,
+ input.gMaxAvailWidth,
+ "The screen.width has a correct rounded value"
+ );
+ is(
+ content.screen.height,
+ input.gMaxAvailHeight,
+ "The screen.height has a correct rounded value"
+ );
+ is(
+ content.innerWidth,
+ input.gMaxAvailWidth,
+ "The window.innerWidth has a correct rounded value"
+ );
+ is(
+ content.innerHeight,
+ input.gMaxAvailHeight,
+ "The window.innerHeight has a correct rounded value"
+ );
+ }
+ );
+
+ BrowserTestUtils.removeTab(tab);
+ await BrowserTestUtils.closeWindow(win);
+});