test_worker_url.html (1562B)
1 <!-- 2 Any copyright is dedicated to the Public Domain. 3 http://creativecommons.org/publicdomain/zero/1.0/ 4 --> 5 <!DOCTYPE HTML> 6 <html> 7 <head> 8 <title>Test for URL object in workers</title> 9 <script src="/tests/SimpleTest/SimpleTest.js"></script> 10 <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" /> 11 </head> 12 <body> 13 <p id="display"></p> 14 <div id="content" style="display: none"></div> 15 <pre id="test"></pre> 16 <script class="testbody" type="text/javascript"> 17 18 var worker = new Worker("url_worker.js"); 19 20 worker.onmessage = function(event) { 21 is(event.target, worker, "Correct worker"); 22 23 if (event.data.type == "finish") { 24 runTest(); 25 } else if (event.data.type == "status") { 26 ok(event.data.status, event.data.msg); 27 } else if (event.data.type == "url") { 28 var xhr = new XMLHttpRequest(); 29 xhr.open("GET", event.data.url, false); 30 xhr.onreadystatechange = function() { 31 if (xhr.readyState == 4) { 32 ok(true, "Blob readable!"); 33 } 34 }; 35 xhr.send(); 36 } 37 }; 38 39 worker.onerror = function(event) { 40 is(event.target, worker, "Correct worker"); 41 ok(false, "Worker had an error: " + event.message); 42 SimpleTest.finish(); 43 }; 44 45 var tests = [ 46 function() { worker.postMessage(0); }, 47 function() { worker.postMessage(1); }, 48 ]; 49 50 function runTest() { 51 if (!tests.length) { 52 SimpleTest.finish(); 53 return; 54 } 55 56 var test = tests.shift(); 57 test(); 58 } 59 60 runTest(); 61 SimpleTest.waitForExplicitFinish(); 62 63 </script> 64 </pre> 65 </body> 66 </html>