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_resize.js | 51 ++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 browser/base/content/test/popups/browser_popup_new_window_resize.js (limited to 'browser/base/content/test/popups/browser_popup_new_window_resize.js') diff --git a/browser/base/content/test/popups/browser_popup_new_window_resize.js b/browser/base/content/test/popups/browser_popup_new_window_resize.js new file mode 100644 index 0000000000..81d3cf5a9a --- /dev/null +++ b/browser/base/content/test/popups/browser_popup_new_window_resize.js @@ -0,0 +1,51 @@ +/* Any copyright is dedicated to the Public Domain. + http://creativecommons.org/publicdomain/zero/1.0/ */ + +add_task(async function test_new_window_resize() { + let tab = await BrowserTestUtils.openNewForegroundTab( + window.gBrowser, + "https://example.net" + ); + + await SpecialPowers.spawn(tab.linkedBrowser, [], async () => { + info("Opening popup."); + let win = this.content.open( + "https://example.net", + "", + "width=200,height=200" + ); + + await ContentTaskUtils.waitForEvent(win, "load"); + + let { outerWidth: initialWidth, outerHeight: initialHeight } = win; + let targetWidth = initialWidth + 100; + let targetHeight = initialHeight + 100; + + let observedOurResizeEvent = false; + let resizeListener = () => { + let { outerWidth: currentWidth, outerHeight: currentHeight } = win; + info(`Resize event for ${currentWidth}x${currentHeight}.`); + if (currentWidth == targetWidth && currentHeight == targetHeight) { + ok(!observedOurResizeEvent, "First time we receive our resize event."); + observedOurResizeEvent = true; + } + }; + win.addEventListener("resize", resizeListener); + win.resizeTo(targetWidth, targetHeight); + + await ContentTaskUtils.waitForCondition( + () => observedOurResizeEvent, + `Waiting for our resize event (${targetWidth}x${targetHeight}).` + ); + + info("Waiting for potentially incoming resize events."); + for (let i = 0; i < 10; i++) { + await new Promise(r => win.requestAnimationFrame(r)); + } + win.removeEventListener("resize", resizeListener); + info("Closing popup."); + win.close(); + }); + + await BrowserTestUtils.removeTab(tab); +}); -- cgit v1.2.3