diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 19:33:14 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 19:33:14 +0000 |
commit | 36d22d82aa202bb199967e9512281e9a53db42c9 (patch) | |
tree | 105e8c98ddea1c1e4784a60a5a6410fa416be2de /browser/base/content/test/popups/browser_popup_new_window_size.js | |
parent | Initial commit. (diff) | |
download | firefox-esr-36d22d82aa202bb199967e9512281e9a53db42c9.tar.xz firefox-esr-36d22d82aa202bb199967e9512281e9a53db42c9.zip |
Adding upstream version 115.7.0esr.upstream/115.7.0esrupstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to '')
-rw-r--r-- | browser/base/content/test/popups/browser_popup_new_window_size.js | 90 |
1 files changed, 90 insertions, 0 deletions
diff --git a/browser/base/content/test/popups/browser_popup_new_window_size.js b/browser/base/content/test/popups/browser_popup_new_window_size.js new file mode 100644 index 0000000000..5f5d57e31e --- /dev/null +++ b/browser/base/content/test/popups/browser_popup_new_window_size.js @@ -0,0 +1,90 @@ +/* Any copyright is dedicated to the Public Domain. + http://creativecommons.org/publicdomain/zero/1.0/ */ + +const baseURL = getRootDirectory(gTestPath).replace( + "chrome://mochitests/content", + "https://example.com" +); + +add_task(async function test_new_window_size() { + let tab = await BrowserTestUtils.openNewForegroundTab( + window.gBrowser, + baseURL + ); + + await SpecialPowers.spawn(tab.linkedBrowser, [], async () => { + info("Opening popup."); + let requestedWidth = 200; + let requestedHeight = 200; + let win = this.content.open( + "popup_size.html", + "", + `width=${requestedWidth},height=${requestedHeight}` + ); + + let loadPromise = ContentTaskUtils.waitForEvent(win, "load"); + + let { innerWidth: preLoadWidth, innerHeight: preLoadHeight } = win; + is(preLoadWidth, requestedWidth, "Width before load event."); + is(preLoadHeight, requestedHeight, "Height before load event."); + + await loadPromise; + + let { innerWidth: postLoadWidth, innerHeight: postLoadHeight } = win; + is(postLoadWidth, requestedWidth, "Width after load event."); + is(postLoadHeight, requestedHeight, "Height after load event."); + + await ContentTaskUtils.waitForCondition( + () => + win.innerWidth == requestedWidth && win.innerHeight == requestedHeight, + "Waiting for window to become request size." + ); + + let { innerWidth: finalWidth, innerHeight: finalHeight } = win; + is(finalWidth, requestedWidth, "Final width."); + is(finalHeight, requestedHeight, "Final height."); + + await SpecialPowers.spawn( + win, + [{ requestedWidth, requestedHeight }], + async input => { + let { initialSize, loadSize } = this.content.wrappedJSObject; + is( + initialSize.width, + input.requestedWidth, + "Content width before load event." + ); + is( + initialSize.height, + input.requestedHeight, + "Content height before load event." + ); + is( + loadSize.width, + input.requestedWidth, + "Content width after load event." + ); + is( + loadSize.height, + input.requestedHeight, + "Content height after load event." + ); + is( + this.content.innerWidth, + input.requestedWidth, + "Content final width." + ); + is( + this.content.innerHeight, + input.requestedHeight, + "Content final height." + ); + } + ); + + info("Closing popup."); + win.close(); + }); + + await BrowserTestUtils.removeTab(tab); +}); |