| <!doctype html> |
| <title>Aborting fetch for javascript:string navigation</title> |
| <script src="/resources/testharness.js"></script> |
| <script src="/resources/testharnessreport.js"></script> |
| <link rel="help" href="https://html.spec.whatwg.org/multipage/#navigate"> |
| <link rel="help" href="https://github.com/whatwg/html/issues/2590"> |
| <div id="log"></div> |
| <iframe src="support/iframe-and-links.html"></iframe> |
| <script> |
| async_test(test => { |
| onload = () => { |
| const child = document.querySelector('iframe').contentWindow; |
| child.document.querySelector("#slowLink").click(); |
| // The step below is in a timeout. The framed page can't communicate back mid-parse because that |
| // would involve running script, which makes that navigation "mature", and we need to do this |
| // before it matures. |
| test.step_timeout(() => { |
| child.document.querySelector("#javascriptStringLink").click(); |
| child.document.querySelector("iframe").onload = test.step_func_done(() => { |
| assert_false(child.childLoaded, 'child.childLoaded'); |
| }); |
| }, 100); |
| }; |
| window.javascriptStringDocLoaded = test.step_func(() => { |
| assert_unreached("javascript: URL doc replaced the document, should be targeted to child iframe."); |
| }); |
| }); |
| </script> |