2 Any copyright is dedicated to the Public Domain.
3 http://creativecommons.org/publicdomain/zero/1.0/
8 <title>Test for
3rd party imported script and muted errors
</title>
9 <script src=
"/tests/SimpleTest/SimpleTest.js"></script>
10 <link rel=
"stylesheet" type=
"text/css" href=
"/tests/SimpleTest/test.css" />
13 <script type=
"text/javascript">
15 const workerURL
= 'http://mochi.test:8888/tests/dom/workers/test/importScripts_3rdParty_worker.js';
17 const sameOriginURL
= 'http://mochi.test:8888/tests/dom/workers/test/invalid.js'
21 var worker
= new Worker("importScripts_3rdParty_worker.js");
22 worker
.onmessage = function(event
) {
23 ok("result" in event
.data
&& event
.data
.result
, "It seems we don't share data!");
27 worker
.postMessage({ url
: sameOriginURL
, test
: 'try', nested
: false });
31 var worker
= new Worker("importScripts_3rdParty_worker.js");
32 worker
.onmessage = function(event
) {
33 ok("result" in event
.data
&& event
.data
.result
, "It seems we don't share data in nested workers!");
37 worker
.postMessage({ url
: sameOriginURL
, test
: 'try', nested
: true });
41 var worker
= new Worker("importScripts_3rdParty_worker.js");
42 worker
.onmessage = function(event
) {
43 ok("result" in event
.data
&& event
.data
.result
, "It seems we don't share data via eventListener!");
47 worker
.postMessage({ url
: sameOriginURL
, test
: 'eventListener', nested
: false });
51 var worker
= new Worker("importScripts_3rdParty_worker.js");
52 worker
.onmessage = function(event
) {
53 ok("result" in event
.data
&& event
.data
.result
, "It seems we don't share data in nested workers via eventListener!");
57 worker
.postMessage({ url
: sameOriginURL
, test
: 'eventListener', nested
: true });
61 var worker
= new Worker("importScripts_3rdParty_worker.js");
62 worker
.onmessage = function(event
) {
63 ok("result" in event
.data
&& event
.data
.result
, "It seems we don't share data via onerror!");
66 worker
.onerror = function(event
) {
67 event
.preventDefault();
70 worker
.postMessage({ url
: sameOriginURL
, test
: 'onerror', nested
: false });
74 var worker
= new Worker("importScripts_3rdParty_worker.js");
75 worker
.onerror = function(event
) {
76 event
.preventDefault();
77 ok(event
instanceof ErrorEvent
, "ErrorEvent received.");
78 is(event
.filename
, workerURL
, "ErrorEvent.filename is correct");
82 worker
.postMessage({ url
: sameOriginURL
, test
: 'none', nested
: false });
86 var worker
= new Worker("importScripts_3rdParty_worker.js");
87 worker
.addEventListener("error", function(event
) {
88 event
.preventDefault();
89 ok(event
instanceof ErrorEvent
, "ErrorEvent received.");
90 is(event
.filename
, workerURL
, "ErrorEvent.filename is correct");
94 worker
.postMessage({ url
: sameOriginURL
, test
: 'none', nested
: false });
98 var worker
= new Worker("importScripts_3rdParty_worker.js");
99 worker
.onerror = function(event
) {
100 ok(false, "No error should be received!");
103 worker
.onmessage = function(event
) {
104 ok("error" in event
.data
&& event
.data
.error
, "The error has been fully received from a nested worker");
107 worker
.postMessage({ url
: sameOriginURL
, test
: 'none', nested
: true });
111 var url
= URL
.createObjectURL(new Blob(["%&%^&%^"]));
112 var worker
= new Worker(url
);
113 worker
.onerror = function(event
) {
114 event
.preventDefault();
115 ok(event
instanceof Event
, "Event received.");
127 var test
= tests
.shift();
131 SimpleTest
.waitForExplicitFinish();