| <html> |
| <body onload="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.layoutTestController) { |
| layoutTestController.dumpAsText(); |
| layoutTestController.waitUntilDone(); |
| } |
| |
| function log(msg) { |
| document.getElementById("result").innerHTML += msg + "<br>"; |
| } |
| |
| var unhandledErrorCount = 0; |
| window.onerror = function(msg, url, line) |
| { |
| url = url ? url.match( /[^\/]+\/?$/ )[0] : url; |
| log("Main frame window.onerror: " + msg + " at " + url + ":" + line); |
| |
| if (++unhandledErrorCount === 3 && window.layoutTestController) |
| layoutTestController.notifyDone(); |
| |
| return false; |
| } |
| |
| function delayedThrowException() |
| { |
| throw new Error("Exception in setTimeout"); |
| } |
| setTimeout(delayedThrowException, 0); |
| |
| function throwException() |
| { |
| throw new Error("Inline script exception"); |
| } |
| throwException(); |
| |
| </script> |
| </body> |
| </html> |