helper_bug1285070.html (1623B)
1 <!DOCTYPE HTML> 2 <html> 3 <head> 4 <meta charset="utf-8"> 5 <meta name="viewport" content="width=device-width; initial-scale=1.0"> 6 <title>Test pointer events are dispatched once for touch tap</title> 7 <script src="/tests/SimpleTest/paint_listener.js"></script> 8 <script type="application/javascript" src="apz_test_utils.js"></script> 9 <script type="application/javascript" src="apz_test_native_event_utils.js"></script> 10 <script type="application/javascript"> 11 async function test() { 12 let eventsList = ["pointerover", "pointerenter", "pointerdown", 13 "pointerup", "pointerleave", "pointerout", 14 "mousedown", "mouseup", 15 "touchstart", "touchend", "click"]; 16 let eventsCount = {}; 17 18 eventsList.forEach((eventName) => { 19 eventsCount[eventName] = 0; 20 document.getElementById("div1").addEventListener(eventName, (event) => { 21 ++eventsCount[event.type]; 22 ok(true, "Received event " + event.type); 23 }); 24 }); 25 26 document.addEventListener("click", (event) => { 27 is(event.target, document.getElementById("div1"), "Clicked on div (at " + event.clientX + "," + event.clientY + ")"); 28 for (var key in eventsCount) { 29 is(eventsCount[key], 1, "Event " + key + " should be generated once"); 30 } 31 subtestDone(); 32 }); 33 34 await synthesizeNativeTap(document.getElementById("div1"), 100, 100); 35 } 36 37 waitUntilApzStable().then(test); 38 39 </script> 40 </head> 41 <body> 42 <div id="div1" style="width: 200px; height: 200px; background: black"></div> 43 </body> 44 </html>