<!DOCTYPE html>
<html>
<head>
<script>
function focusinListener(evt) {
    try {
        this.parentNode.removeChild(this);
    } catch(e) {
    }
}

function test() {
    if (window.testRunner)
        window.testRunner.dumpAsText();
    document.getElementById("a").addEventListener('focusin', focusinListener , false);
    document.getElementById("a").focus();
}
</script>
</head>
<body onload="test();">
<p>Test for making sure that a crash does not happen when a focused node is removed in processing focusin eventListner.</p>
<pre id="console"></pre>
<h1 tabindex="0" id="a" ></h1>
</body>
</html>
