<html xmlns="http://www.w3.org/1999/xhtml">
<head>
</head>
<body>
<div>
<script>
    if (window.testRunner) {
        testRunner.dumpAsText();
        testRunner.waitUntilDone();
    }

    var div = document.getElementsByTagName('div')[0];
    div.parentNode.removeChild(div);

    function msg(text)
    {
        var n = document.createElement("p");
        n.appendChild(document.createTextNode(text));
        document.body.appendChild(n);
    }

    function verify()
    {
        msg("Test for bug 30049: Manipulating DOM from a script while parsing XHTML can cause a crash.");
        msg("Should say PASS:");
        // Even though a subtree is removed, parsing continues.
        msg(div.getElementsByTagName("foo").length == 1 ? "PASS" : "FAIL");
        if (window.testRunner)
            testRunner.notifyDone();
    }

    setTimeout(verify, 100);
</script>
<foo/>
<script>
    alert("FAIL"); // Firefox compatibility.
</script>
</div>
</body>
</html>
