1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/dom/workers/test/errorwarning_worker.js Wed Dec 31 06:09:35 2014 +0100 1.3 @@ -0,0 +1,42 @@ 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 + 1.9 +function errorHandler() { 1.10 + postMessage({ type: 'error' }); 1.11 +} 1.12 + 1.13 +onmessage = function(event) { 1.14 + if (event.data.errors) { 1.15 + try { 1.16 + // This is an error: 1.17 + postMessage({ type: 'ignore', value: b.aaa }); 1.18 + } catch(e) { 1.19 + errorHandler(); 1.20 + } 1.21 + } else { 1.22 + var a = {}; 1.23 + // This is a warning: 1.24 + postMessage({ type: 'ignore', value: a.foo }); 1.25 + } 1.26 + 1.27 + if (event.data.loop != 0) { 1.28 + var worker = new Worker('errorwarning_worker.js'); 1.29 + worker.onerror = errorHandler; 1.30 + worker.postMessage({ loop: event.data.loop - 1, errors: event.data.errors }); 1.31 + 1.32 + worker.onmessage = function(e) { 1.33 + postMessage(e.data); 1.34 + } 1.35 + 1.36 + } else { 1.37 + postMessage({ type: 'finish' }); 1.38 + } 1.39 +} 1.40 + 1.41 +onerror = errorHandler; 1.42 +onerror = onerror; 1.43 +if (!onerror || onerror != onerror) { 1.44 + throw "onerror wasn't set properly"; 1.45 +}