From 36d22d82aa202bb199967e9512281e9a53db42c9 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sun, 7 Apr 2024 21:33:14 +0200 Subject: Adding upstream version 115.7.0esr. Signed-off-by: Daniel Baumann --- .../test/browser/browser_window_close.js | 43 ++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 devtools/client/responsive/test/browser/browser_window_close.js (limited to 'devtools/client/responsive/test/browser/browser_window_close.js') diff --git a/devtools/client/responsive/test/browser/browser_window_close.js b/devtools/client/responsive/test/browser/browser_window_close.js new file mode 100644 index 0000000000..2af3d7fdd8 --- /dev/null +++ b/devtools/client/responsive/test/browser/browser_window_close.js @@ -0,0 +1,43 @@ +/* Any copyright is dedicated to the Public Domain. + http://creativecommons.org/publicdomain/zero/1.0/ */ + +"use strict"; + +addRDMTask( + null, + async function () { + const NEW_WINDOW_URL = + "data:text/html;charset=utf-8,New window opened via window.open"; + const newWindowPromise = BrowserTestUtils.waitForNewWindow({ + // Passing the url param so the Promise will resolve once DOMContentLoaded is emitted + // on the new window tab + url: NEW_WINDOW_URL, + }); + window.open(NEW_WINDOW_URL, "_blank", "noopener,all"); + + const newWindow = await newWindowPromise; + ok(true, "Got new window"); + + info("Focus new window"); + newWindow.focus(); + + info("Open RDM"); + const tab = newWindow.gBrowser.selectedTab; + const { ui } = await openRDM(tab); + await waitForDeviceAndViewportState(ui); + + ok( + ResponsiveUIManager.isActiveForTab(tab), + "ResponsiveUI should be active for tab when the window is closed" + ); + + // Close the window on a tab with an active responsive design UI and + // wait for the UI to gracefully shutdown. This has leaked the window + // in the past. + info("Close the new window"); + const offPromise = once(ResponsiveUIManager, "off"); + await BrowserTestUtils.closeWindow(newWindow); + await offPromise; + }, + { onlyPrefAndTask: true } +); -- cgit v1.2.3