|
1 <html> |
|
2 <head> |
|
3 <title></title> |
|
4 |
|
5 <script type="text/javascript"> |
|
6 |
|
7 function startCleanWorker() { |
|
8 var worker = new Worker("cleanWorker.js"); |
|
9 |
|
10 worker.onmessage = function(event) { |
|
11 if (event.data == "success") { |
|
12 window.parent.postMessage("success:blocked importScripts('evilWorker.js')", "*"); |
|
13 } else { |
|
14 window.parent.postMessage("failure:failed to block importScripts('evilWorker.js')", "*"); |
|
15 } |
|
16 window.parent.postMessage("finish", "*"); |
|
17 }; |
|
18 |
|
19 worker.onerror = function(event) { |
|
20 window.parent.postmessage("failure:failed to load cleanWorker.js", "*"); |
|
21 window.parent.postMessage("finish", "*"); |
|
22 }; |
|
23 |
|
24 worker.postMessage(""); |
|
25 } |
|
26 |
|
27 function startEvilWorker() { |
|
28 var worker = new Worker("evilWorker.js"); |
|
29 |
|
30 worker.onmessage = function(event) { |
|
31 window.parent.postMessage("failure:failed to block evilWorker.js", "*"); |
|
32 startCleanWorker(); |
|
33 }; |
|
34 |
|
35 worker.onerror = function(event) { |
|
36 window.parent.postMessage("success:blocked evilWorker.js", "*"); |
|
37 startCleanWorker(); |
|
38 }; |
|
39 |
|
40 worker.postMessage(""); |
|
41 } |
|
42 |
|
43 </script> |
|
44 |
|
45 </head> |
|
46 |
|
47 <body onload="startEvilWorker()"> |
|
48 </body> |
|
49 </html> |