OLD | NEW |
1 <!DOCTYPE HTML> | 1 <!DOCTYPE HTML> |
2 <script src="../../../resources/js-test.js"></script> | 2 <script src="../../../resources/js-test.js"></script> |
3 <style> | 3 <style> |
4 div.box { | 4 div.box { |
5 height: 100px; | 5 height: 100px; |
6 width: 100px; | 6 width: 100px; |
7 background-color: red; | 7 background-color: red; |
8 } | 8 } |
9 </style> | 9 </style> |
10 | 10 |
11 <div class="box" id="target"></div> | 11 <div class="box" id="target"></div> |
12 | 12 |
13 <div id="console"></div> | 13 <div id="console"></div> |
14 | 14 |
15 <script> | 15 <script> |
16 description("Verifies that canceling pointerdowns for touches correctly suppress
es mouseevents."); | 16 description("Verifies that canceling pointerdowns for touches correctly suppress
es mouseevents."); |
17 | 17 |
18 var preventDefaultPrimary = false; | 18 var preventDefaultPrimary = false; |
19 | 19 |
20 function init() { | 20 function init() { |
21 var events = [ | 21 var events = [ |
22 "mouseup", | 22 "mouseup", |
23 "mousedown", | 23 "mousedown", |
24 "mousemove", | 24 "mousemove", |
25 "pointerup", | 25 "pointerup", |
26 "pointerdown", | 26 "pointerdown", |
27 "pointermove", | 27 "pointermove", |
| 28 "pointercancel", |
28 "click", | 29 "click", |
29 "touchstart", | 30 "touchstart", |
30 "touchend", | 31 "touchend", |
31 "touchmove", | 32 "touchmove", |
| 33 "touchcancel", |
32 ]; | 34 ]; |
33 | 35 |
34 events.forEach(function(event) { | 36 events.forEach(function(event) { |
35 document.getElementById("target").addEventListener(event, function(e) { | 37 document.getElementById("target").addEventListener(event, function(e) { |
36 var isPrimary = e.isPrimary; | 38 var isPrimary = e.isPrimary; |
37 var desc = []; | 39 var desc = []; |
38 if (e.type.startsWith("pointer") && isPrimary) | 40 if (e.type.startsWith("pointer") && isPrimary) |
39 desc.push("primary"); | 41 desc.push("primary"); |
40 if (e.type == "pointerdown" && preventDefaultPrimary == isPrimary) { | 42 if (e.type == "pointerdown" && preventDefaultPrimary == isPrimary) { |
41 e.preventDefault(); | 43 e.preventDefault(); |
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
83 eventSender.releaseTouchPoint(0); | 85 eventSender.releaseTouchPoint(0); |
84 eventSender.touchEnd(); | 86 eventSender.touchEnd(); |
85 | 87 |
86 eventSender.gestureTapDown(x, y, tapWidth, tapHeight, uniqueId+1); | 88 eventSender.gestureTapDown(x, y, tapWidth, tapHeight, uniqueId+1); |
87 eventSender.gestureTap(x, y); | 89 eventSender.gestureTap(x, y); |
88 | 90 |
89 eventSender.gestureTapDown(x, y, tapWidth, tapHeight, uniqueId+2); | 91 eventSender.gestureTapDown(x, y, tapWidth, tapHeight, uniqueId+2); |
90 eventSender.gestureTap(x, y); | 92 eventSender.gestureTap(x, y); |
91 } | 93 } |
92 | 94 |
| 95 function testLongPressWithPairedGE() { |
| 96 var rect = document.getElementById("target").getBoundingClientRect(); |
| 97 var x = rect.left + 50; |
| 98 var y = rect.top + 50; |
| 99 |
| 100 var uniqueId = 1234; |
| 101 var tapWidth = 30; |
| 102 var tapHeight = 30; |
| 103 |
| 104 eventSender.addTouchPoint(x, y); |
| 105 eventSender.touchStart(uniqueId); |
| 106 eventSender.gestureTapDown(x, y, tapWidth, tapHeight, uniqueId); |
| 107 |
| 108 eventSender.cancelTouchPoint(0); |
| 109 eventSender.touchCancel(); |
| 110 |
| 111 eventSender.gestureLongPress(x, y, tapWidth, tapHeight, uniqueId); |
| 112 } |
| 113 |
| 114 function testLongPressWithoutPairedGE() { |
| 115 var rect = document.getElementById("target").getBoundingClientRect(); |
| 116 var x = rect.left + 50; |
| 117 var y = rect.top + 50; |
| 118 |
| 119 var uniqueId = 1234; |
| 120 var tapWidth = 30; |
| 121 var tapHeight = 30; |
| 122 |
| 123 eventSender.addTouchPoint(x, y); |
| 124 eventSender.touchStart(uniqueId); |
| 125 eventSender.cancelTouchPoint(0); |
| 126 eventSender.touchCancel(); |
| 127 |
| 128 eventSender.gestureTapDown(x, y, tapWidth, tapHeight, uniqueId+1); |
| 129 eventSender.gestureLongPress(x, y); |
| 130 |
| 131 eventSender.gestureTapDown(x, y, tapWidth, tapHeight, uniqueId+2); |
| 132 eventSender.gestureLongPress(x, y); |
| 133 } |
| 134 |
93 function runTests() { | 135 function runTests() { |
94 [false, true, false].forEach(function(boolVal) { | 136 [false, true, false].forEach(function(boolVal) { |
95 debug("=== With primary pointerdown " + (boolVal ? "canceled" : "uncanceled"
) +" ==="); | 137 debug("=== With primary pointerdown " + (boolVal ? "canceled" : "uncanceled"
) +" ==="); |
96 preventDefaultPrimary = boolVal; | 138 preventDefaultPrimary = boolVal; |
97 | 139 |
98 debug("-- Tap with paired GEs --"); | 140 debug("-- Tap with paired GEs --"); |
99 testTapWithPairedGE(); | 141 testTapWithPairedGE(); |
100 | 142 |
101 debug("-- Tap without paired GEs --"); | 143 debug("-- Tap without paired GEs --"); |
102 testTapWithoutPairedGE(); | 144 testTapWithoutPairedGE(); |
103 | 145 |
| 146 debug("-- Long-press with paired GEs --"); |
| 147 testLongPressWithPairedGE(); |
| 148 |
| 149 debug("-- Long-press without paired GEs --"); |
| 150 testLongPressWithoutPairedGE(); |
| 151 |
104 debug(""); | 152 debug(""); |
105 }); | 153 }); |
106 } | 154 } |
107 | 155 |
108 init(); | 156 init(); |
109 if (window.eventSender) | 157 if (window.eventSender) |
110 runTests(); | 158 runTests(); |
111 else | 159 else |
112 debug("This test requires eventSender"); | 160 debug("This test requires eventSender"); |
113 | 161 |
114 </script> | 162 </script> |
OLD | NEW |