blob: e275a4987a0859b160a0f91de6c8896b90bdab31 [file] [log] [blame]
// In an earlier version of the HTML Standard, document open steps had "unload
// document" as a step. Test that this no longer happens.
async_test(t => {
const frame = document.body.appendChild(document.createElement("iframe"));
t.add_cleanup(() => frame.remove());
frame.src = "/common/blank.html";
frame.onload = t.step_func(() => {
frame.contentWindow.onpagehide = t.unreached_func("onpagehide got called");
frame.contentDocument.onvisibilitychange = t.unreached_func("onvisibilitychange got called");
frame.contentWindow.onunload = t.unreached_func("onunload got called");
frame.contentDocument.open();
t.step_timeout(t.step_func_done(() => {
// If none of the three events have been fired by this point, we consider
// the test a success. `frame.remove()` above will allow the `load` event
// to be fired on the top-level Window, thus unblocking testharness.
}), 500);
});
}, "document.open(): Do not fire pagehide, visibilitychange, or unload events");