<html>
<body onload="setTimeout(delayedThrowException, 0); throw 'Exception in onload';">
<p>Test that uncaught exceptions will be reported to the window.onerror handler. <a href="https://bugs.webkit.org/show_bug.cgi?id=8519">Bug 8519</a>.</p>
<div id="result"></div>
<script>
if (window.testRunner) {
    testRunner.dumpAsText();
    testRunner.waitUntilDone();
}

function log(msg) {
    document.getElementById("result").innerHTML += msg + "<br>";
}

var unhandledErrorCount = 0;
window.onerror = function(msg, url, line, column, error)
{
    url = url ? url.match( /[^\/]+\/?$/ )[0] : url;
    log("Main frame window.onerror: " + msg + " at " + url + ", line: " + line + ", column: " + column + ", error: " + error);
    
    if (++unhandledErrorCount === 3 && window.testRunner)
        testRunner.notifyDone();

    return true;
}

function delayedThrowException()
{
    throw new Error("Exception in setTimeout");
}

function throwException()
{
    throw new Error("Inline script exception");
}
throwException();

</script>
</body>
</html>
