summaryrefslogtreecommitdiffstats
path: root/third_party/WebKit/LayoutTests/plugins/plugin-remove-readystatechange.html
blob: 8b37b6abeae5bada19a4728c34c4a3f00a6bad7d (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
26
27
28
29
30
31
32
33
34
35
<!DOCTYPE html>
<html>
<body>
<div>
This test passes if it does not trip an assert in debug builds.
It ensures a readystatechange event can't get dispatched until after a plugin is fully removed.
</div>
<embed id="viewer" src="resources/simple_blank.swf"></embed>
<script>
if (window.testRunner)
    testRunner.dumpAsText();

var i = 0;
document.addEventListener('readystatechange', function() {
    if (i == 1) {
        try {
            document.body.appendChild(document.getElementById('viewer'));
        }
        catch (e) {
            alert('PASS: element could not be re-appended');
       }
    }
    i++;
});

window.addEventListener('DOMContentLoaded', function() {
    document.body.removeChild(document.getElementById('viewer'));
});

// FIXME: This shouldn't be needed, but it's here to make our whitespace text node
// creation deterministic in the face of lazily creating the render tree.
document.body.offsetHeight;
</script>
</body>
</html>