<p>This test checks for a NULL document crash that can happen when calling
window.open. If the test passes, you'll see a PASS message below.</p>
<hr>
<pre id="pre"></pre>
<iframe name="iframe" style="visibility:hidden" src="does-not-exist.bogus"></iframe> <!-- forces asynchronous load -->
<script>
<!--
function log(s)
{
    document.getElementById("pre").appendChild(document.createTextNode(s));
}

function test()
{
    window.open("javascript:'<script>parent.pass()</script>'", "iframe");
}

function pass()
{
    log("PASS: You didn't crash.");

    if (window.testRunner)
        testRunner.notifyDone();
}

function main()
{
    if (window.testRunner) {
        testRunner.dumpAsText();
        testRunner.waitUntilDone();
    }    
    
    // setTimeout forces execution in the context of the frame
    frames[0].setTimeout(test, 0);
}

main();
-->
</script>
