window_worker_xhr_3rdparty.html (1706B)
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 <!-- 8 Tests of DOM Worker Threads XHR(Bug 450452 ) 9 --> 10 <body> 11 <div id="content" style="display: none"></div> 12 <script class="testbody" type="text/javascript"> 13 14 function ok(a, msg) { 15 opener.postMessage({type: "test", test: !!a, msg }, "*"); 16 } 17 18 function is(a, b, msg) { 19 ok(a === b, msg); 20 } 21 22 function finish() { 23 opener.postMessage({type: "finish" }, "*"); 24 } 25 26 var worker = new Worker("xhr_worker.js"); 27 28 var gotUploadLoad = false, gotLoadend = false; 29 30 worker.onmessage = function(event) { 31 is(event.target, worker); 32 var args = event.data; 33 switch (args.type) { 34 case "progress": { 35 ok(parseInt(args.current) <= parseInt(args.total)); 36 break; 37 } 38 case "error": { 39 ok(false, "XHR error: " + args.error); 40 break; 41 } 42 case "upload.load": { 43 gotUploadLoad = true; 44 break; 45 } 46 case "load": { 47 ok(gotUploadLoad, "Should have gotten upload load event"); 48 gotLoadend = true; 49 is(args.data, "a=cookie_is_set", "correct data"); 50 document.getElementById("content").textContent = args.data; 51 break; 52 } 53 case "loadend": { 54 ok(gotLoadend, "Should have gotten load."); 55 finish(); 56 break; 57 } 58 default: { 59 ok(false, "Unexpected message"); 60 finish(); 61 } 62 } 63 }; 64 65 worker.onerror = function(event) { 66 is(event.target, worker); 67 ok(false, "Worker had an error:" + event.message); 68 finish(); 69 } 70 71 worker.postMessage("worker_file_getcookie.sjs"); 72 73 </script> 74 </body> 75 </html>