mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-20 16:55:40 +00:00
f9f5914039
# ignore-this-changeset Differential Revision: https://phabricator.services.mozilla.com/D36041 --HG-- extra : source : 96b3895a3b2aa2fcb064c85ec5857b7216884556
41 lines
1.8 KiB
JavaScript
41 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");
|
|
}
|
|
});
|