summaryrefslogtreecommitdiffstats
path: root/third_party/WebKit/LayoutTests/fast/frames/iframe-onload-and-domnodeinserted.html
blob: 4ebf8c1cdc012c859b8b590a39610f369f06d654 (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
<!DOCTYPE html>
<html>
<head>
<script src="../js/resources/js-test-pre.js"></script>
</head>
<body>
<div id="g"></div>
<script>
description("This test ensures that any tree mutation in the load event handler cannot harm the tree consistency.")
var docElement = document.documentElement;

textareaElement = document.createElement("textarea");
iframeElement = document.createElement("iframe");

var loadEventFired = false;
textareaElement.appendChild(iframeElement);
iframeElement.addEventListener("load", function () { iframeElement.innerHTML = "X"; loadEventFired = true; }, false);
textareaElement.addEventListener("DOMNodeInserted", function () { document.implementation.createDocument("", "", null).adoptNode(textareaElement) }, false);
document.documentElement.appendChild(textareaElement); // The DOMNodeInserted event is triggered here through innerHTML = "X"
document.getElementById("g").appendChild(textareaElement);
shouldBeTrue("loadEventFired");
debug("PASS unless crash.");
</script>
</body>
</html>