bug977003_inner_1.html (4081B)
1 <!DOCTYPE HTML> 2 <html> 3 <!-- 4 https://bugzilla.mozilla.org/show_bug.cgi?id=977003 5 https://bugzilla.mozilla.org/show_bug.cgi?id=1094913 6 https://bugzilla.mozilla.org/show_bug.cgi?id=1098139 7 --> 8 <head> 9 <meta charset="utf-8"> 10 <title>Test for Bugs 977003, 1094913, 1098139</title> 11 <meta name="author" content="Maksim Lebedev" /> 12 <script src="/tests/SimpleTest/SimpleTest.js"></script> 13 <script src="/tests/SimpleTest/EventUtils.js"></script> 14 <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/> 15 <style> 16 #target{ background: yellow; } 17 </style> 18 <script type="application/javascript"> 19 var target = undefined; 20 var test_send_got = 0; 21 var test_got_async = 0; 22 var test_got_type = ""; 23 var test_got_primary = false; 24 var test_send_lost = 0; 25 var test_lost_async = 0; 26 var test_lost_type = ""; 27 var test_lost_primary = false; 28 29 function DownHandler(event) { 30 logger("Receive event: " + event.type); 31 logger("Send setPointerCapture to target"); 32 target.setPointerCapture(event.pointerId); 33 logger("setPointerCapture was executed"); 34 test_send_got++; 35 } 36 function GotPCHandler(event) { 37 logger("Receive event: " + event.type + "(" + event.pointerType + ")"); 38 if(test_send_got) 39 test_got_async++; 40 test_got_type = event.pointerType; 41 test_got_primary = event.isPrimary; 42 logger("Send releasePointerCapture from target"); 43 target.releasePointerCapture(event.pointerId); 44 logger("releasePointerCapture was executed"); 45 test_send_lost++; 46 } 47 function LostPCHandler(event) { 48 logger("Received event: " + event.type + "(" + event.pointerType + ")"); 49 if(test_send_lost) 50 test_lost_async++; 51 test_lost_type = event.pointerType; 52 test_lost_primary = event.isPrimary; 53 } 54 function logger(message) { 55 console.log(message); 56 var log = document.getElementById('log'); 57 log.innerHTML = message + "<br>" + log.innerHTML; 58 } 59 60 function prepareTest() { 61 SimpleTest.executeSoon(executeTest); 62 } 63 function executeTest() 64 { 65 logger("executeTest"); 66 target = document.getElementById("target"); 67 target.addEventListener("pointerdown", DownHandler); 68 target.addEventListener("gotpointercapture", GotPCHandler); 69 target.addEventListener("lostpointercapture", LostPCHandler); 70 var rect = target.getBoundingClientRect(); 71 synthesizeMouse(target, rect.width/2, rect.height/2, {type: "mousedown"}); 72 synthesizeMouse(target, rect.width/2, rect.height/2, {type: "mouseup"}); 73 finishTest(); 74 } 75 function finishTest() { 76 parent.is(test_send_got, 1, "Part 1: gotpointercapture event should be sent once"); 77 parent.is(test_got_async, 1, "Part 1: gotpointercapture event should be asynchronous"); 78 parent.is(test_got_type, "mouse", "Part 1: gotpointercapture event should have pointerType mouse"); 79 parent.is(test_got_primary, true, "Part 1: gotpointercapture event should have isPrimary as true"); 80 parent.is(test_send_lost, 1, "Part 1: lostpointercapture event should be sent once"); 81 parent.is(test_lost_async, 1, "Part 1: lostpointercapture event should be asynchronous"); 82 parent.is(test_lost_type, "mouse", "Part 1: lostpointercapture event should have pointerType mouse"); 83 parent.is(test_lost_primary, true, "Part 1: lostpointercapture event should have isPrimary as true"); 84 logger("finishTest"); 85 parent.finishTest(); 86 } 87 </script> 88 </head> 89 <body onload="prepareTest()"> 90 <a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=977003">Mozilla Bug 977003 Test 1</a> 91 <br><a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1094913">Mozilla Bug 1094913</a> 92 <br><a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1098139">Mozilla Bug 1098139</a> 93 <p id="display"></p> 94 <div id="content" style="display: none"> 95 </div> 96 <div id="target">div id=target</div> 97 <pre id="log"> 98 </pre> 99 </body> 100 </html>