diff options
Diffstat (limited to 'testing/web-platform/tests/html/semantics/embedded-content/the-iframe-element/content_document_changes_only_after_load_matures.html')
-rw-r--r-- | testing/web-platform/tests/html/semantics/embedded-content/the-iframe-element/content_document_changes_only_after_load_matures.html | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/testing/web-platform/tests/html/semantics/embedded-content/the-iframe-element/content_document_changes_only_after_load_matures.html b/testing/web-platform/tests/html/semantics/embedded-content/the-iframe-element/content_document_changes_only_after_load_matures.html new file mode 100644 index 0000000000..b657f26158 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/embedded-content/the-iframe-element/content_document_changes_only_after_load_matures.html @@ -0,0 +1,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> |