// 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");