Index: LayoutTests/fast/workers/worker-error-handler-workerglobalscope.html |
diff --git a/LayoutTests/fast/workers/worker-error-handler-workerglobalscope.html b/LayoutTests/fast/workers/worker-error-handler-workerglobalscope.html |
new file mode 100644 |
index 0000000000000000000000000000000000000000..cfbb738ea8a774b0751243d05ec1525031b4f141 |
--- /dev/null |
+++ b/LayoutTests/fast/workers/worker-error-handler-workerglobalscope.html |
@@ -0,0 +1,52 @@ |
+<!DOCTYPE html> |
+<html> |
+<body> |
+<p>Testing worker error handler invocation order.</p> |
+<div id="result"></div> |
+<script type="text/javascript"> |
+var windowErrorHandlerInvoked = false; |
+var workerErrorHandlerInvoked = false; |
+var workerGlobalScopeErrorHandlerInvoked = false; |
+function log(message) |
+{ |
+ document.getElementById("result").innerHTML += message + "</br>"; |
+} |
+ |
+if (window.testRunner) { |
+ testRunner.dumpAsText(); |
+ testRunner.waitUntilDone(); |
+} |
+ |
+window.onerror = function (e) { |
+ windowErrorHandlerInvoked = true; |
+ log("FAIL: Window error handler should not be invoked!"); |
+} |
+ |
+var worker = new Worker('resources/worker-error-handler-workerglobalscope.js'); |
+worker.postMessage("Start"); |
+ |
+worker.onmessage = function(evt) { |
+ if (evt.data == "DONE") { |
+ if(!windowErrorHandlerInvoked && !workerErrorHandlerInvoked) { |
+ log("TEST PASS."); |
+ } |
+ else { |
+ log("TEST FAIL.") |
+ } |
+ log("DONE.") |
+ if (window.testRunner) |
+ testRunner.notifyDone(); |
+ } |
+ else if (evt.data == "workerGlobalScopeErrorHandlerInvoked") { |
+ workerGlobalScopeErrorHandlerInvoked = true; |
+ log("PASS: WorkerGlobalScope error handler invoked."); |
+ } |
+} |
+worker.onerror = function (e) { |
+ workerErrorHandlerInvoked = true; |
+ log("FAIL: Worker error handler should not be invoked!"); |
+ return false; |
+} |
+</script> |
+</body> |
+</html> |