bug1153130_inner.html (2861B)
1 <!DOCTYPE HTML> 2 <html> 3 <!-- 4 https://bugzilla.mozilla.org/show_bug.cgi?id=1153130 5 --> 6 <head> 7 <meta charset="utf-8"> 8 <title>Test for Bug 1153130</title> 9 <meta name="author" content="Maksim Lebedev" /> 10 <script src="/tests/SimpleTest/SimpleTest.js"></script> 11 <script src="/tests/SimpleTest/EventUtils.js"></script> 12 <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/> 13 <style> 14 #target { background: yellow; padding: 10px; } 15 </style> 16 <script type="application/javascript"> 17 var target = undefined; 18 var test_down = false; 19 var test_capture = false; 20 var test_move = false; 21 var test_success = false; 22 23 function TargetHandler(event) { 24 logger("Target receive event: " + event.type); 25 if(event.type == "pointerdown") { 26 test_down = true; 27 target.setPointerCapture(event.pointerId); 28 } else if(event.type == "gotpointercapture") { 29 test_capture = true; 30 } else if(event.type == "pointermove" && test_capture) { 31 test_move = true; 32 } 33 } 34 function logger(message) { 35 console.log(message); 36 var log = document.getElementById('target'); 37 log.innerHTML = message + "<br>" + log.innerHTML; 38 } 39 function prepareTest() { 40 SimpleTest.executeSoon(executeTest); 41 } 42 function executeTest() { 43 logger("executeTest"); 44 target = document.getElementById("target"); 45 target.addEventListener("pointerdown", TargetHandler); 46 target.addEventListener("gotpointercapture", TargetHandler); 47 target.addEventListener("pointermove", TargetHandler); 48 var rect = target.getBoundingClientRect(); 49 synthesizeMouse(target, rect.width/5, rect.height/5, {type: "mousemove"}); 50 synthesizeMouse(target, rect.width/5, rect.height/5, {type: "mousedown"}); 51 synthesizeMouse(target, rect.width/4, rect.height/4, {type: "mousemove"}); 52 synthesizeMouse(target, rect.width/3, rect.height/3, {type: "mousemove"}); 53 synthesizeMouse(target, rect.width/3, rect.height/3, {type: "mouseup"}); 54 synthesizeMouse(target, rect.width/2, rect.height/2, {type: "mousemove"}); 55 test_success = true; 56 finishTest(); 57 } 58 function finishTest() { 59 parent.is(test_down, true, "pointerdown event should be received by target"); 60 parent.is(test_capture, true, "gotpointercapture event should be received by target"); 61 parent.is(test_move, true, "pointermove event should be received by target while pointer capture is active"); 62 parent.is(test_success, true, "Firefox should be live!"); 63 logger("finishTest"); 64 parent.finishTest(); 65 } 66 </script> 67 </head> 68 <body onload="prepareTest()"> 69 <a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1153130">Mozilla Bug 1153130</a> 70 <div id="target">div id=target</div> 71 </body> 72 </html>