Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1)

Side by Side Diff: third_party/WebKit/LayoutTests/fast/events/pointerevents/touch-pointer-mouse.html

Issue 1989623002: Suppressed MEs for gestures from cancelled PEs (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Removed browser-side plumbing, added tests. Created 4 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(Empty)
1 <!DOCTYPE HTML>
2 <script src="../../../resources/js-test.js"></script>
3 <style>
4 div.box {
5 height: 100px;
6 width: 100px;
7 background-color: red;
8 }
9 </style>
10
11 <div class="box" id="target"></div>
12
13 <div id="console"></div>
14
15 <script>
16 description("Verifies that canceling pointerdowns for touches correctly suppress es mouseevents.");
17
18 var preventDefaultPrimary = false;
19
20 function init() {
21 var events = [
22 "mouseup",
23 "mousedown",
24 "mousemove",
25 "pointerup",
26 "pointerdown",
27 "pointermove",
28 "click",
29 "touchstart",
30 "touchend",
31 "touchmove",
32 ];
33
34 events.forEach(function(event) {
35 document.getElementById("target").addEventListener(event, function(e) {
36 var isPrimary = e.isPrimary;
37 var desc = [];
38 if (e.type.startsWith("pointer") && isPrimary)
39 desc.push("primary");
40 if (e.type == "pointerdown" && preventDefaultPrimary == isPrimary) {
41 e.preventDefault();
42 desc.push("canceled");
43 }
44 debug("Received " + e.type + " " + desc);
45 });
46 });
47 }
48
49 function testQuickTap() {
50 var rect = document.getElementById("target").getBoundingClientRect();
51 var x = rect.left + 50;
52 var y = rect.top + 50;
53
54 eventSender.addTouchPoint(x, y);
55 eventSender.touchStart();
56 eventSender.gestureTapDown(x, y);
57
58 eventSender.releaseTouchPoint(0);
59 eventSender.touchEnd();
60 eventSender.gestureTap(x, y);
61 }
62
63 function testLongTap() {
64 var rect = document.getElementById("target").getBoundingClientRect();
65 var x = rect.left + 50;
66 var y = rect.top + 50;
67
68 eventSender.addTouchPoint(x, y);
69 eventSender.touchStart();
70 eventSender.gestureTapDown(x, y);
71 eventSender.gestureLongPress(x, y);
72
73 eventSender.releaseTouchPoint(0);
74 eventSender.touchEnd();
75 eventSender.gestureLongTap(x, y);
76 }
77
78 function runTests() {
79 [false, true, false].forEach(function(boolVal) {
80 debug("=== With primary pointerdown " + (boolVal ? "canceled" : "uncanceled" ) +" ===");
81 preventDefaultPrimary = boolVal;
82
83 debug("-- Quick tap --");
84 testQuickTap();
85
86 debug("-- Long tap --");
87 testLongTap();
88
89 debug("");
90 });
91 }
92
93 init();
94 if (window.eventSender)
95 runTests();
96 else
97 debug("This test requires eventSender");
98
99 </script>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698