test_bug684208.html (2300B)
1 <!DOCTYPE HTML> 2 <html> 3 <!-- 4 https://bugzilla.mozilla.org/show_bug.cgi?id=684208 5 --> 6 <head> 7 <meta charset="utf-8"> 8 <title>Test for Bug 684208</title> 9 <script src="/tests/SimpleTest/SimpleTest.js"></script> 10 <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/> 11 <script type="application/javascript"> 12 13 /** Test for Bug 684208 */ 14 15 function checkDispatchReturnValue(targetOrUndefined) { 16 var target = targetOrUndefined ? targetOrUndefined : self; 17 function createEvent() { 18 if ("MouseEvent" in this) { 19 return new MouseEvent("click", {cancelable: true}); 20 } 21 return new Event("dummy", {cancelable: true}); 22 } 23 24 function postSelfMessage(msg) { 25 try { 26 self.postMessage(msg); 27 } catch(ex) { 28 self.postMessage(msg, "*"); 29 } 30 } 31 32 function passiveListener(e) { 33 e.target.removeEventListener(e.type, passiveListener); 34 } 35 var event = createEvent(); 36 target.addEventListener(event.type, passiveListener); 37 postSelfMessage(target.dispatchEvent(event) == true); 38 39 function cancellingListener(e) { 40 e.target.removeEventListener(e.type, cancellingListener); 41 e.preventDefault(); 42 } 43 event = createEvent(); 44 target.addEventListener(event.type, cancellingListener); 45 postSelfMessage(target.dispatchEvent(event) == false); 46 } 47 48 function test() { 49 var expectedEvents = 6; 50 function messageHandler(e) { 51 ok(e.data, "All the dispatchEvent calls should pass."); 52 --expectedEvents; 53 if (!expectedEvents) { 54 window.onmessage = null; 55 window.worker.onmessage = null; 56 SimpleTest.finish(); 57 } 58 } 59 window.onmessage = messageHandler; 60 checkDispatchReturnValue(); 61 checkDispatchReturnValue(document.getElementById("link")); 62 window.worker = 63 new Worker(URL.createObjectURL(new Blob(["(" + checkDispatchReturnValue.toString() + ")();"]))); 64 window.worker.onmessage = messageHandler; 65 } 66 67 SimpleTest.waitForExplicitFinish(); 68 69 </script> 70 </head> 71 <body onload="test();"> 72 <a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=684208">Mozilla Bug 684208</a> 73 <p id="display"></p> 74 <div id="content" style="display: none"> 75 <a id="link" href="#foo">foo</a> 76 </div> 77 <pre id="test"> 78 </pre> 79 </body> 80 </html>