fune/docshell/test/browser/browser_onbeforeunload_frame.js
Kris Maglione d41332a044 Bug 1797219 - Bump the timeout limit of browser_onbeforeunload test again. r=nika
Splitting the test wasn't enough to prevent the frequent timeouts, and there really isn't a sensible way to split it any further.

Differential Revision: https://phabricator.services.mozilla.com/D163502
2022-11-30 21:12:10 +00:00

45 lines
1.1 KiB
JavaScript

"use strict";
// We need to test a lot of permutations here, and there isn't any sensible way
// to split them up or run them faster.
requestLongerTimeout(12);
Services.scriptloader.loadSubScript(
getRootDirectory(gTestPath) + "head_browser_onbeforeunload.js",
this
);
add_task(async function() {
await SpecialPowers.pushPrefEnv({
set: [["dom.require_user_interaction_for_beforeunload", false]],
});
for (let actions of PERMUTATIONS) {
info(
`Testing frame actions: [${actions.map(action =>
ACTION_NAMES.get(action)
)}]`
);
for (let startIdx = 0; startIdx < FRAMES.length; startIdx++) {
info(`Testing content reload from frame ${startIdx}`);
await doTest(actions, startIdx, (tab, frames) => {
return SpecialPowers.spawn(frames[startIdx], [], () => {
let eventLoopSpun = false;
SpecialPowers.Services.tm.dispatchToMainThread(() => {
eventLoopSpun = true;
});
content.location.reload();
return { eventLoopSpun };
});
});
}
}
});
add_task(async function cleanup() {
await TabPool.cleanup();
});