<!DOCTYPE html>
<html>
<body><div><script>

if (!window.testRunner)
    document.write("This test requires GCController.");
else {
    testRunner.dumpAsText();
    testRunner.waitUntilDone();

    function crash() {
        document.open();
        document.write("PASS. WebKit didn't crash.");
        document.close();
        GCController.collect();
        setTimeout("testRunner.notifyDone()", 0);
    }

    setTimeout(function () {
        document.addEventListener('DOMNodeInsertedIntoDocument', function () { crash(); }, true);
        document.addEventListener('DOMSubtreeModified', function () { /* noop */ }, false);
        document.body = document.createElement('body');
    }, 0);
}

</script>
</body>
</html>
