summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/html/semantics/embedded-content/the-iframe-element/content_document_changes_only_after_load_matures.html
blob: b657f26158a9c6526e3c734afb9ce2731e1b3dd4 (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>
<meta charset="utf-8">
<title>Iframe's contentDocument should only change after its pending load has matured.</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<body></body>
<script>
async_test(function(t) {
    var iframe = document.createElement("iframe");
    document.body.appendChild(iframe);
    var checkedDuringParse = false;
    iframe.onload = t.step_func_done(function() {
        testContentDocument();
        assert_true(checkedDuringParse);
    });

    let url = "support/iframe-that-checks-contentDocument.html";
    window.testContentDocument = t.step_func(function() {
        assert_true(iframe.contentDocument.location.toString().includes(url));
        checkedDuringParse = true;
    });

    assert_equals(iframe.contentDocument.location.toString(), "about:blank");
    iframe.src = url + "?pipe=trickle(d2)";
    // The location of the contentDocument should not change until the new document has matured.
    assert_equals(iframe.contentDocument.location.toString(), "about:blank");
}, "contentDocument should only change after a load matures.");
</script>