<html>
<body>
<script>
var script = document.getElementsByTagName("script")[0];
script.parentNode.removeChild(script);

var count = 0;
function crash() {
    var element = event.srcElement;
    document.adoptNode(element);
    if (!document.body.innerHTML)
        return;
    document.execCommand('InsertHTML', false, document.body.innerHTML);
    if (count == 1) {
        document.removeEventListener("DOMNodeInserted", crash, false);
        document.body.innerHTML = "PASS";
        return;
    }
    document.body.appendChild(element);
    element.insertAdjacentHTML('beforeend', '<svg><foreignObject>A</foreignObject></svg>');
    element.focus();
    count += 1;
}

document.addEventListener("DOMNodeInserted", crash, false);
document.addEventListener("DOMContentLoaded", function () {
    document.execCommand("SelectAll", false, false);
    var range = window.getSelection().getRangeAt(0);
    var docFragment = range.extractContents();
    document.documentElement.firstChild.appendChild(docFragment);
}, false);
</script>
<input/>
</body>
</html>
