<script>
var w;
function clear() {
    // Id doesn't matter, the crash happens while trying to access the NULL Document to lookup the Id.
    w.clearTimeout(153);
}

function test() {
    w = window.open("data:text/html,"+
        "<script>" +
        "function navigate() { location.href='data:text/html,<body>Close this page and wait.</body>'};" +
        "setTimeout(navigate,0);</" + 
        "script>");

    setInterval(clear, 20);
}
</script>
<body><p>This test reproduces the crash that happens when JavaScript has access to DOMWindow which is disconnected from its Frame. This crash was fixed by http://trac.webkit.org/changeset/49786</p>
To reproduce the crash:
<ul><li>Click the link below, the popup window opens.</li><li>Close the popup window.</li><li>Wait about 10 seconds (~10, page cache should start deleting pages) and observe the crash.</li></ul>
Crashes on Safari 4.0.3</p><p><a href="javascript:test()">Crash me!</a></p>
</body>
