<body>
<p>Test for <a href="https://bugs.webkit.org/show_bug.cgi?id=46579">bug 46579</a>:
Reproducible crash in appcache code when closing pgatour.com</p>
<script>
if (window.testRunner) {
    testRunner.dumpAsText();
    testRunner.waitUntilDone();
}

function done()
{
    if (window.testRunner) 
        setTimeout('testRunner.notifyDone()', 0);
}

window.open("resources/ping-error-window.html");
</script>
