"use strict"; const BASE = "https://www.example.com/browser/dom/tests/browser/"; const TEST_URL = BASE + "file_beforeunload_select.html"; const { PromptTestUtils } = ChromeUtils.importESModule( "resource://testing-common/PromptTestUtils.sys.mjs" ); // Changing a popup. await SpecialPowers.spawn(browser, [], async () => { SpecialPowers.wrap(content.document).notifyUserGestureActivation(); }); let dialogPromise = PromptTestUtils.handleNextPrompt( browser, { modalType: Services.prompt.MODAL_TYPE_CONTENT, promptType: "confirmEx", }, { buttonNumClick: 0 } ); let loadedPromise = BrowserTestUtils.browserLoaded(browser); BrowserTestUtils.startLoadingURIString(browser, BASE + "dummy.html"); await Promise.all([dialogPromise, loadedPromise]); ok(true, "beforeunload dialog was shown after user gesture activation"); }); await SpecialPowers.popPrefEnv(); });