Source code

Revision control

Copy as Markdown

Other Tools

Test Info:

<!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>