<!DOCTYPE html>
<html>
<script>
setInterval(function(){
    var elements = document.getElementsByTagName("*");
    var didRemoveElement = false;
    for (var i = 0; i < elements.length; i++) {
        var element = elements.item(i);
        if (!element.firstElementChild && element != document.documentElement) {
            didRemoveElement = true;
            try { 
                element.parentNode.removeChild(element)
            } catch(e) { }
        }
    }

    if (!didRemoveElement)
        document.documentElement.innerHTML = "PASS. WebKit didn't crash.";
}, 100);
</script>
<style>
#test1:after {
    float: left; 
    content: 'A';
}
</style>
<svg>
<text>
<a id="test1">
A
</a>
</text>
</svg>
</html>
