1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/dom/workers/test/errorPropagation_iframe.html Wed Dec 31 06:09:35 2014 +0100 1.3 @@ -0,0 +1,55 @@ 1.4 +<!-- 1.5 + Any copyright is dedicated to the Public Domain. 1.6 + http://creativecommons.org/publicdomain/zero/1.0/ 1.7 +--> 1.8 +<!DOCTYPE HTML> 1.9 +<html> 1.10 + <meta charset="utf-8"> 1.11 + <body> 1.12 + <script type="text/javascript"> 1.13 + var worker; 1.14 + 1.15 + function start(workerCount, messageCallback) { 1.16 + var seenWindowError; 1.17 + window.onerror = function(message, filename, lineno) { 1.18 + if (!seenWindowError) { 1.19 + seenWindowError = true; 1.20 + messageCallback({ 1.21 + type: "window", 1.22 + data: { message: message, filename: filename, lineno: lineno } 1.23 + }); 1.24 + return true; 1.25 + } 1.26 + }; 1.27 + 1.28 + worker = new Worker("errorPropagation_worker.js"); 1.29 + 1.30 + worker.onmessage = function(event) { 1.31 + messageCallback(event.data); 1.32 + }; 1.33 + 1.34 + var seenWorkerError; 1.35 + worker.onerror = function(event) { 1.36 + if (!seenWorkerError) { 1.37 + seenWorkerError = true; 1.38 + messageCallback({ 1.39 + type: "worker", 1.40 + data: { 1.41 + message: event.message, 1.42 + filename: event.filename, 1.43 + lineno: event.lineno 1.44 + } 1.45 + }); 1.46 + event.preventDefault(); 1.47 + } 1.48 + }; 1.49 + 1.50 + worker.postMessage(workerCount); 1.51 + } 1.52 + 1.53 + function stop() { 1.54 + worker.terminate(); 1.55 + } 1.56 + </script> 1.57 + </body> 1.58 +</html>