<script>
if (window.testRunner) {
    testRunner.waitUntilDone();
    testRunner.dumpAsText();
}

function removeTextArea() {
    var child = document.getElementById('test');
    child.parentNode.removeChild(child);
    if (window.testRunner) {
        setTimeout("testRunner.notifyDone();", 0);
    }
}

window.onload = removeTextArea;
</script>
<p>PASS if not crashed.</p>
><fieldset><fieldset><button><fieldset><fieldset><select>A00000AA0A000<textarea></textarea>
<figure><fieldset>000000AA00A000A0A0A00A0000A0A00AAAAAA00AAAAAAA0A0AA00A00A000A0AA000AA0<textarea id="test" placeholder="default disabled">A0AA000AAA0AA00AAAA0<track><center></center>
