diff options
Diffstat (limited to 'testing/web-platform/tests/html/semantics/embedded-content/the-iframe-element/iframe_remove_src.html')
-rw-r--r-- | testing/web-platform/tests/html/semantics/embedded-content/the-iframe-element/iframe_remove_src.html | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/testing/web-platform/tests/html/semantics/embedded-content/the-iframe-element/iframe_remove_src.html b/testing/web-platform/tests/html/semantics/embedded-content/the-iframe-element/iframe_remove_src.html new file mode 100644 index 0000000000..f0ff9ff508 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/embedded-content/the-iframe-element/iframe_remove_src.html @@ -0,0 +1,40 @@ +<!DOCTYPE html> +<meta charset=utf-8> +<title>Test that removing the src attribute of an iframe loads about:blank + instead of whatever was loaded previously.</title> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<body> + <script> + var iframe; + var t = async_test(); + t.step(setupFrame); + + function setupFrame() { + iframe = document.createElement("iframe"); + iframe.src = URL.createObjectURL(new Blob(["text"], { type: "text/html" })); + iframe.onload = t.step_func(blobLoaded); + document.body.appendChild(iframe); + } + + var removalRunning = false; + function blobLoaded() { + assert_equals(iframe.contentDocument.location.protocol, "blob:", + "Should have loaded the blob"); + assert_equals(iframe.contentDocument.documentElement.textContent, "text", + "Should have loaded the blob text"); + iframe.onload = t.step_func_done(aboutBlankLoaded); + removalRunning = true; + iframe.removeAttribute("src"); + removalRunning = false; + } + + function aboutBlankLoaded() { + assert_false(removalRunning, "Should not have loaded about:blank sync"); + assert_equals(iframe.contentDocument.location.href, "about:blank", + "Should have loaded about:blank"); + assert_equals(iframe.contentDocument.documentElement.textContent, "", + "Should have loaded the about:blank text"); + } + </script> +</body> |