<!-- https://bugs.webkit.org/show_bug.cgi?id=22672
     ASSERT(m_table) when xhr.onabort creates another xhr or calls setTimeout
-->
<script>
if (window.testRunner) {
    testRunner.dumpAsText();
    testRunner.waitUntilDone();
}

function abortHandler()
{
    xhr2 = new XMLHttpRequest;
    setTimeout("alert('FAIL: Page load started, but didn't get committed.')", 5000);
}

function onreadystatechangeHandler()
{
    if (xhr.readyState == 4)
        abortHandler();
}

window.onload = function()
{
    xhr = new XMLHttpRequest;
    xhr.onabort = abortHandler;
    xhr.onreadystatechange = onreadystatechangeHandler;
    xhr.open("GET", "foo.txt", true); 
    xhr.send(null);

    location.href = "data:text/html,<script>if (window.testRunner) testRunner.notifyDone()</scr" + "ipt>PASS: No assertion failure.";
}
</script>
