Source code

Revision control

Copy as Markdown

Other Tools

Test Info: Warnings

<!doctype html>
<title>document.write only writes to active documents</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<body><div id="log"></div></body>
<script>
async_test(function(t) {
var child = document.createElement("iframe");
child.src = "empty.html?1";
child.onload = t.step_func(function() {
var child1 = child.contentDocument;
var link = child1.createElement("a");
link.href = "data:text/html,Clicked.";
link.innerText = "Link.";
child1.body.appendChild(link);
var grandchild = child1.createElement("iframe");
grandchild.src = "empty.html?2";
grandchild.onload = t.step_func(function() {
var grandchild1 = grandchild.contentDocument;
child.onload = t.step_func(function() {
// This is a write to an inactive document
child1.write('WRITE HAPPENED');
assert_equals(child1.body.lastChild.tagName, "IFRAME");
// This is a write to an active but not fully active document
grandchild1.write('WRITE HAPPENED');
assert_equals(grandchild1.body.innerHTML, "WRITE HAPPENED");
t.done();
});
link.click();
});
child1.body.appendChild(grandchild);
});
document.body.appendChild(child);
});
</script>