file_child-src_shared_worker_data.html (1138B)
1 <!DOCTYPE HTML> 2 <html> 3 <head> 4 <title>Bug 1045891</title> 5 </head> 6 <body> 7 <script type="text/javascript"> 8 var page_id = window.location.hash.substring(1); 9 var shared_worker = "onconnect = function(e) { " + 10 "var port = e.ports[0];" + 11 "port.addEventListener('message'," + 12 "function(e) { port.postMessage('success'); });" + 13 "port.start(); }"; 14 15 try { 16 var worker = new SharedWorker('data:application/javascript;charset=UTF-8,'+ 17 escape(shared_worker), page_id); 18 worker.port.start(); 19 20 worker.onerror = function(evt) { 21 evt.preventDefault(); 22 window.parent.postMessage({id:page_id, message:"blocked"}, 'http://mochi.test:8888'); 23 } 24 25 worker.port.onmessage = function(ev) { 26 window.parent.postMessage({id:page_id, message:"allowed"}, 'http://mochi.test:8888'); 27 }; 28 29 worker.port.postMessage('foo'); 30 } 31 catch (e) { 32 window.parent.postMessage({id:page_id, message:"blocked"}, 'http://mochi.test:8888'); 33 } 34 </script> 35 </body> 36 </html>