diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-19 01:14:29 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-19 01:14:29 +0000 |
commit | fbaf0bb26397aa498eb9156f06d5a6fe34dd7dd8 (patch) | |
tree | 4c1ccaf5486d4f2009f9a338a98a83e886e29c97 /browser/components/screenshots/tests/browser/browser_test_moving_tab_to_new_window.js | |
parent | Releasing progress-linux version 124.0.1-1~progress7.99u1. (diff) | |
download | firefox-fbaf0bb26397aa498eb9156f06d5a6fe34dd7dd8.tar.xz firefox-fbaf0bb26397aa498eb9156f06d5a6fe34dd7dd8.zip |
Merging upstream version 125.0.1.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'browser/components/screenshots/tests/browser/browser_test_moving_tab_to_new_window.js')
-rw-r--r-- | browser/components/screenshots/tests/browser/browser_test_moving_tab_to_new_window.js | 123 |
1 files changed, 123 insertions, 0 deletions
diff --git a/browser/components/screenshots/tests/browser/browser_test_moving_tab_to_new_window.js b/browser/components/screenshots/tests/browser/browser_test_moving_tab_to_new_window.js new file mode 100644 index 0000000000..c3bb546f3a --- /dev/null +++ b/browser/components/screenshots/tests/browser/browser_test_moving_tab_to_new_window.js @@ -0,0 +1,123 @@ +/* Any copyright is dedicated to the Public Domain. + http://creativecommons.org/publicdomain/zero/1.0/ */ + +"use strict"; + +add_task(async function test_movingTabToNewWindow() { + let tab = await BrowserTestUtils.openNewForegroundTab(gBrowser, TEST_PAGE); + let originalHelper = new ScreenshotsHelper(tab.linkedBrowser); + originalHelper.triggerUIFromToolbar(); + await originalHelper.waitForOverlay(); + await originalHelper.dragOverlay(10, 10, 300, 300); + + let newWindow = gBrowser.replaceTabWithWindow(tab); + let swapDocShellPromise = BrowserTestUtils.waitForEvent( + tab.linkedBrowser, + "SwapDocShells" + ); + await swapDocShellPromise; + + let newtab = newWindow.gBrowser.selectedTab; + let newHelper = new ScreenshotsHelper(newtab.linkedBrowser); + + let isInitialized = await newHelper.isOverlayInitialized(); + + ok(isInitialized, "Overlay is initialized after switching windows"); + ok( + !ScreenshotsUtils.browserToScreenshotsState.has(tab.linkedBrowser), + "The old browser is no longer in the ScreenshotsUtils weakmap" + ); + ok( + ScreenshotsUtils.browserToScreenshotsState.has(newtab.linkedBrowser), + "The new browser is in the ScreenshotsUtils weakmap" + ); + + await newHelper.clickCancelButton(); + await newHelper.assertStateChange("crosshairs"); + await newHelper.waitForOverlay(); + + swapDocShellPromise = BrowserTestUtils.waitForEvent( + newtab.linkedBrowser, + "SwapDocShells" + ); + gBrowser.adoptTab(newWindow.gBrowser.selectedTab, 1, true); + await swapDocShellPromise; + + tab = gBrowser.selectedTab; + let helper = new ScreenshotsHelper(tab.linkedBrowser); + + isInitialized = await helper.isOverlayInitialized(); + + ok(!isInitialized, "Overlay is not initialized"); + ok( + !ScreenshotsUtils.browserToScreenshotsState.has(tab.linkedBrowser), + "The old browser is no longer in the ScreenshotsUtils weakmap" + ); + ok( + !ScreenshotsUtils.browserToScreenshotsState.has(newtab.linkedBrowser), + "The new browser is no longer in the ScreenshotsUtils weakmap" + ); + + await BrowserTestUtils.removeTab(tab); +}); + +add_task(async function test_movingParentProcessTabToNewWindow() { + let tab = await BrowserTestUtils.openNewForegroundTab( + gBrowser, + "about:robots" + ); + let originalHelper = new ScreenshotsHelper(tab.linkedBrowser); + originalHelper.triggerUIFromToolbar(); + await originalHelper.waitForOverlay(); + await originalHelper.dragOverlay(10, 10, 300, 300); + + let newWindow = gBrowser.replaceTabWithWindow(tab); + let swapDocShellPromise = BrowserTestUtils.waitForEvent( + tab.linkedBrowser, + "SwapDocShells" + ); + await swapDocShellPromise; + + let newtab = newWindow.gBrowser.selectedTab; + let newHelper = new ScreenshotsHelper(newtab.linkedBrowser); + + let isInitialized = await newHelper.isOverlayInitialized(); + + ok(isInitialized, "Overlay is initialized after switching windows"); + ok( + !ScreenshotsUtils.browserToScreenshotsState.has(tab.linkedBrowser), + "The old browser is no longer in the ScreenshotsUtils weakmap" + ); + ok( + ScreenshotsUtils.browserToScreenshotsState.has(newtab.linkedBrowser), + "The new browser is in the ScreenshotsUtils weakmap" + ); + + await newHelper.clickCancelButton(); + await newHelper.assertStateChange("crosshairs"); + await newHelper.waitForOverlay(); + + swapDocShellPromise = BrowserTestUtils.waitForEvent( + newtab.linkedBrowser, + "SwapDocShells" + ); + gBrowser.adoptTab(newWindow.gBrowser.selectedTab, 1, true); + await swapDocShellPromise; + + tab = gBrowser.selectedTab; + let helper = new ScreenshotsHelper(tab.linkedBrowser); + + isInitialized = await helper.isOverlayInitialized(); + + ok(!isInitialized, "Overlay is not initialized"); + ok( + !ScreenshotsUtils.browserToScreenshotsState.has(tab.linkedBrowser), + "The old browser is no longer in the ScreenshotsUtils weakmap" + ); + ok( + !ScreenshotsUtils.browserToScreenshotsState.has(newtab.linkedBrowser), + "The new browser is no longer in the ScreenshotsUtils weakmap" + ); + + await BrowserTestUtils.removeTab(tab); +}); |