Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(18)

Unified Diff: LayoutTests/fast/workers/worker-error-handler-window.html

Issue 607513002: Onerror return value handling in workers fixed as per HTML5 spec. Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Added new layout tests and rebaselined two of them. Created 6 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: LayoutTests/fast/workers/worker-error-handler-window.html
diff --git a/LayoutTests/fast/workers/worker-error-handler-window.html b/LayoutTests/fast/workers/worker-error-handler-window.html
new file mode 100644
index 0000000000000000000000000000000000000000..7da8711bae5d149886687eaff323daad81f79f14
--- /dev/null
+++ b/LayoutTests/fast/workers/worker-error-handler-window.html
@@ -0,0 +1,60 @@
+<!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("PASS: Window error handler invoked.");
+ setTimeout(checkErrorStatus(), 100);
+}
+
+var worker = new Worker('resources/worker-error-handler-worker.js');
+worker.postMessage("Start");
+
+worker.onmessage = function(evt) {
+ if (evt.data == "DONE") {
+ }
+ else if (evt.data == "workerGlobalScopeErrorHandlerInvoked") {
+ workerGlobalScopeErrorHandlerInvoked = true;
+ log("PASS: WorkerGlobalScope error handler invoked.");
+ }
+}
+worker.onerror = function (e) {
+ workerErrorHandlerInvoked = true;
+ log("PASS: Worker error handler invoked.");
+ // Letting the error event propogate, now it should
+ // be handled by the window.onerror error handler.
+ return false;
+}
+
+
+function checkErrorStatus() {
+ if(workerGlobalScopeErrorHandlerInvoked
+ && windowErrorHandlerInvoked && workerErrorHandlerInvoked) {
+ log("TEST PASS.");
+ }
+ else {
+ log("TEST FAIL.")
+ }
+ log("DONE.")
+ if (window.testRunner)
+ testRunner.notifyDone();
+}
+</script>
+</body>
+</html>

Powered by Google App Engine
This is Rietveld 408576698