<!DOCTYPE html>
<html>
<head>
<script>
if (window.testRunner)
    window.testRunner.dumpAsText();

function start() {
    window.firstFrame = document.createElement('iframe');
    document.body.appendChild(window.firstFrame);
    window.secondFrame = document.createElement('iframe');
    window.secondFrame.src = 'javascript:window.top.maybeStart();';
    window.firstFrame.contentDocument.documentElement.appendChild(window.secondFrame);
}

function maybeStart() {
    window.secondFrame.contentWindow.onunload = function() {
        document.documentElement.removeChild(window.bodyEl);
    };

    window.firstFrame.src = 'javascript:"";';
    document.write("PASS. WebKit didn't crash.");
}
</script>
</head>
<body id=bodyEl onload=start()></body>
</html>
