| <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> |