blob: 99d9a8fbb19996e5f3afe074871783c86433d252 [file] [log] [blame]
<!DOCTYPE html>
<meta charset="utf-8">
<title>Cross-document navigation after a cross-document navigation</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<!--
According to the spec, the navigate algorithm synchronously cancels ongoing
non-mature navigations.
-->
<body>
<script type="module">
import { createIframe, waitForLoad, waitForPotentialNetworkLoads } from "./resources/helpers.mjs";
promise_test(async t => {
const iframe = await createIframe(t);
iframe.contentWindow.location.search = "?1";
iframe.contentWindow.location.search = "?2";
assert_equals(iframe.contentWindow.location.search, "");
await waitForLoad(iframe);
assert_equals(iframe.contentWindow.location.search, "?2");
iframe.onload = t.unreached_func("second load event");
await waitForPotentialNetworkLoads(t);
assert_equals(iframe.contentWindow.location.search, "?2");
}, "cross-document navigation then cross-document navigation");
</script>