summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/html/browsers/browsing-the-web/navigating-across-documents/javascript-url-abort/javascript-url-abort-return-value-string.tentative.html
blob: f626a79ae66ab4502e611f4c713c2240d1a12722 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<!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>