From 6bf0a5cb5034a7e684dcc3500e841785237ce2dd Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sun, 7 Apr 2024 19:32:43 +0200 Subject: Adding upstream version 1:115.7.0. Signed-off-by: Daniel Baumann --- .../test/popups/browser_popup_new_window_size.js | 90 ++++++++++++++++++++++ 1 file changed, 90 insertions(+) create mode 100644 browser/base/content/test/popups/browser_popup_new_window_size.js (limited to 'browser/base/content/test/popups/browser_popup_new_window_size.js') 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); +}); -- cgit v1.2.3