1
0
Fork 0
firefox/browser/base/content/test/general/browser_unloaddialogs.js
Daniel Baumann 5e9a113729
Adding upstream version 140.0.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
2025-06-25 09:37:52 +02:00

40 lines
1.8 KiB
JavaScript

var testUrls = [
"data:text/html,<script>" +
"function handle(evt) {" +
"evt.target.removeEventListener(evt.type, handle, true);" +
"try { alert('This should NOT appear'); } catch(e) { }" +
"}" +
"window.addEventListener('pagehide', handle, true);" +
"window.addEventListener('beforeunload', handle, true);" +
"window.addEventListener('unload', handle, true);" +
"</script><body>Testing alert during pagehide/beforeunload/unload</body>",
"data:text/html,<script>" +
"function handle(evt) {" +
"evt.target.removeEventListener(evt.type, handle, true);" +
"try { prompt('This should NOT appear'); } catch(e) { }" +
"}" +
"window.addEventListener('pagehide', handle, true);" +
"window.addEventListener('beforeunload', handle, true);" +
"window.addEventListener('unload', handle, true);" +
"</script><body>Testing prompt during pagehide/beforeunload/unload</body>",
"data:text/html,<script>" +
"function handle(evt) {" +
"evt.target.removeEventListener(evt.type, handle, true);" +
"try { confirm('This should NOT appear'); } catch(e) { }" +
"}" +
"window.addEventListener('pagehide', handle, true);" +
"window.addEventListener('beforeunload', handle, true);" +
"window.addEventListener('unload', handle, true);" +
"</script><body>Testing confirm during pagehide/beforeunload/unload</body>",
];
add_task(async function () {
for (let url of testUrls) {
let tab = await BrowserTestUtils.openNewForegroundTab(gBrowser, url);
ok(true, "Loaded page " + url);
// Wait one turn of the event loop before closing, so everything settles.
await new Promise(resolve => setTimeout(resolve, 0));
BrowserTestUtils.removeTab(tab);
ok(true, "Closed page " + url + " without timeout");
}
});