diff options
Diffstat (limited to 'browser/components/firefoxview/tests/browser/FirefoxViewTestUtils.sys.mjs')
-rw-r--r-- | browser/components/firefoxview/tests/browser/FirefoxViewTestUtils.sys.mjs | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/browser/components/firefoxview/tests/browser/FirefoxViewTestUtils.sys.mjs b/browser/components/firefoxview/tests/browser/FirefoxViewTestUtils.sys.mjs index 3fd2bf95e3..e1285c0396 100644 --- a/browser/components/firefoxview/tests/browser/FirefoxViewTestUtils.sys.mjs +++ b/browser/components/firefoxview/tests/browser/FirefoxViewTestUtils.sys.mjs @@ -21,6 +21,20 @@ function getFirefoxViewURL() { return "about:firefoxview"; } +/** + * Make the given window focused and active + */ +async function switchToWindow(win) { + await testScope.SimpleTest.promiseFocus(win); + if (Services.focus.activeWindow !== win) { + testScope.info("switchToWindow, waiting for activate event on the window"); + await BrowserTestUtils.waitForEvent(win, "activate"); + } else { + testScope.info("switchToWindow, win is already the activeWindow"); + } + testScope.info("switchToWindow, done"); +} + function assertFirefoxViewTab(win) { Assert.ok(win.FirefoxViewHandler.tab, "Firefox View tab exists"); Assert.ok(win.FirefoxViewHandler.tab?.hidden, "Firefox View tab is hidden"); @@ -48,7 +62,7 @@ async function openFirefoxViewTab(win) { "Must initialize FirefoxViewTestUtils with a test scope which has a SimpleTest property" ); } - await testScope.SimpleTest.promiseFocus(win); + await switchToWindow(win); let fxviewTab = win.FirefoxViewHandler.tab; let alreadyLoaded = fxviewTab?.linkedBrowser.currentURI.spec.includes(getFirefoxViewURL()) && @@ -167,6 +181,7 @@ function isFirefoxViewTabSelectedInWindow(win) { export { init, + switchToWindow, withFirefoxView, assertFirefoxViewTab, assertFirefoxViewTabSelected, |