Chromium Code Reviews

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

Issue 2043053002: Added missing pen tilt when creating PointerEvent from ME. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments.
Jump to:
View unified diff |
OLDNEW
1 <!DOCTYPE HTML> 1 <!DOCTYPE HTML>
2 <script src="../../../resources/js-test.js"></script> 2 <script src="../../../resources/js-test.js"></script>
3 <script src="../resources/input-modifiers.js"></script> 3 <script src="../resources/input-modifiers.js"></script>
4 <style> 4 <style>
5 div.box { 5 div.box {
6 margin: 10px; 6 margin: 10px;
7 padding: 50px; 7 padding: 50px;
8 float: left; 8 float: left;
9 } 9 }
10 </style> 10 </style>
11 11
12 <div id="target" class="box" style="background-color:red"> 12 <div id="target" class="box" style="background-color:red">
13 </div> 13 </div>
14 14
15 <div id="console"></div> 15 <div id="console"></div>
16 16
17 <script> 17 <script>
18 window.name = "mainWindow"; 18 window.name = "mainWindow";
19 description("Verifies that pointer event parameters are correct when fired for m ouse events."); 19 description("Verifies that pointer event parameters are correct when fired throu gh mouse events.");
20
21 var checkKeyModifiers = false;
22
23 var pointerType = "";
24 var penId = 0;
25 var penPressure = 0;
26 var penTiltX = 0;
27 var penTiltY = 0;
20 28
21 var testEventList = ["mouseenter", "mouseleave", "mouseover", "mouseout", "mouse up", "mousedown", "mousemove", 29 var testEventList = ["mouseenter", "mouseleave", "mouseover", "mouseout", "mouse up", "mousedown", "mousemove",
22 "pointerenter", "pointerleave", "pointerover", "pointerout", "pointerup", "pointerdown", "pointermove"]; 30 "pointerenter", "pointerleave", "pointerover", "pointerout", "pointerup", "pointerdown", "pointermove"];
23 var lastPointerEvents = []; 31 var lastPointerEvents = [];
24 32
25 var checkKeyModifiers = false;
26
27 var numericAttributes = [ 33 var numericAttributes = [
28 "clientX", 34 "clientX",
29 "clientY", 35 "clientY",
30 "layerX", 36 "layerX",
31 "layerY", 37 "layerY",
32 "movementX", 38 "movementX",
33 "movementY", 39 "movementY",
34 "offsetX", 40 "offsetX",
35 "offsetY", 41 "offsetY",
36 "pageX", 42 "pageX",
37 "pageY", 43 "pageY",
38 "screenX", 44 "screenX",
39 "screenY", 45 "screenY",
40 "x", 46 "x",
41 "y", 47 "y",
42 "button", 48 "button",
43 "buttons", 49 "buttons",
44 "pressure", 50 "pressure",
51 "tiltX",
52 "tiltY",
45 "width", 53 "width",
46 "height", 54 "height",
47 ]; 55 ];
48 56
49 function init() { 57 function init() {
50 var targetDiv = document.getElementById("target"); 58 var targetDiv = document.getElementById("target");
51 59
52 testEventList.forEach(function(eventName) { 60 testEventList.forEach(function(eventName) {
53 61
54 targetDiv.addEventListener(eventName, function(event) { 62 targetDiv.addEventListener(eventName, function(event) {
(...skipping 13 matching lines...)
68 if (!checkKeyModifiers) { 76 if (!checkKeyModifiers) {
69 77
70 if (lastPointerEvents[0].type=="pointerenter" || lastPointerEvents[0]. type=="pointerleave") { 78 if (lastPointerEvents[0].type=="pointerenter" || lastPointerEvents[0]. type=="pointerleave") {
71 shouldBeFalse("lastPointerEvents[0].bubbles"); 79 shouldBeFalse("lastPointerEvents[0].bubbles");
72 shouldBeFalse("lastPointerEvents[0].cancelable"); 80 shouldBeFalse("lastPointerEvents[0].cancelable");
73 } else { 81 } else {
74 shouldBeTrue("lastPointerEvents[0].bubbles"); 82 shouldBeTrue("lastPointerEvents[0].bubbles");
75 shouldBeTrue("lastPointerEvents[0].cancelable"); 83 shouldBeTrue("lastPointerEvents[0].cancelable");
76 } 84 }
77 85
78 shouldBeEqualToNumber("lastPointerEvents[0].pointerId", 1); 86 shouldBeEqualToNumber("lastPointerEvents[0].pointerId",
79 shouldBeEqualToString("lastPointerEvents[0].pointerType", "mouse"); 87 (pointerType == "mouse")? 1 : penId);
88 shouldBeEqualToString("lastPointerEvents[0].pointerType", pointerType) ;
80 shouldBeTrue("lastPointerEvents[0].isPrimary"); 89 shouldBeTrue("lastPointerEvents[0].isPrimary");
81 90
82 numericAttributes.forEach(function(attribute) { 91 numericAttributes.forEach(function(attribute) {
83 var expectedValue = eval("event." + attribute); 92 var expectedValue = eval("event." + attribute);
84 if (attribute == "button" && event.type != "mousedown" && event.type != "mouseup") 93 if (attribute == "button" && event.type != "mousedown" && event.type != "mouseup")
85 expectedValue = -1; 94 expectedValue = -1;
86 if (attribute == "width" || attribute == "height") 95 else if (attribute == "width" || attribute == "height")
87 expectedValue = 1; 96 expectedValue = 1;
88 if (attribute == "pressure") { 97 else if (attribute == "pressure") {
89 if (event.buttons == 0) 98 if (pointerType == "mouse")
90 expectedValue = 0.0; 99 expectedValue = (event.buttons == 0)? 0.0 : 0.5;
91 else 100 else
92 expectedValue = 0.5; 101 expectedValue = penPressure;
93 } 102 }
103 else if (attribute == "tiltX")
104 expectedValue = (pointerType == "mouse")? 0 : penTiltX;
105 else if (attribute == "tiltY")
106 expectedValue = (pointerType == "mouse")? 0 : penTiltY;
107
94 shouldBeEqualToNumber("lastPointerEvents[0]." + attribute, expectedV alue); 108 shouldBeEqualToNumber("lastPointerEvents[0]." + attribute, expectedV alue);
95 }); 109 });
96 shouldBeEqualToString("lastPointerEvents[0].view.name", "mainWindow"); 110 shouldBeEqualToString("lastPointerEvents[0].view.name", "mainWindow");
97 111
98 } else { 112 } else {
99 113
100 forEachModifier(function(attr, modifierName) { 114 forEachModifier(function(attr, modifierName) {
101 var getModifierStateStr = ".getModifierState('" + modifierName + "') ;" 115 var getModifierStateStr = ".getModifierState('" + modifierName + "') ;"
102 if (eval("event" + getModifierStateStr)) 116 if (eval("event" + getModifierStateStr))
103 shouldBeTrue("lastPointerEvents[0]" + getModifierStateStr); 117 shouldBeTrue("lastPointerEvents[0]" + getModifierStateStr);
104 else 118 else
105 shouldBeFalse("lastPointerEvents[0]" + getModifierStateStr); 119 shouldBeFalse("lastPointerEvents[0]" + getModifierStateStr);
106 }); 120 });
107 121
108 } 122 }
109 123
110 lastPointerEvents.splice(0, 1); 124 lastPointerEvents.splice(0, 1);
111 } 125 }
112 }); 126 });
113 127
114 }); 128 });
115 } 129 }
116 130
117 function runTests() { 131 function runMouseTests(x, y) {
118 var rect = document.getElementById("target").getBoundingClientRect(); 132 debug("===== mouse tests =====");
133 pointerType = "mouse";
119 134
120 debug("--- move mouse into target ---"); 135 debug("--- move mouse into target ---");
121 eventSender.mouseMoveTo(rect.left + 5, rect.top + 5); 136 eventSender.mouseMoveTo(x + 5, y + 5);
122 debug(""); 137 debug("");
123 138
124 debug("--- move within target ---"); 139 debug("--- move within target ---");
125 eventSender.mouseMoveTo(rect.left + 7, rect.top + 15); 140 eventSender.mouseMoveTo(x + 7, y + 15);
126 eventSender.mouseMoveTo(rect.left + 5, rect.top + 5); 141 eventSender.mouseMoveTo(x + 5, y + 5);
127 debug(""); 142 debug("");
128 143
129 debug("--- click each button ---"); 144 debug("--- click each button ---");
130 for (var button = 0; button <=2; button++) { 145 for (var button = 0; button <=2; button++) {
131 eventSender.mouseDown(button); 146 eventSender.mouseDown(button);
132 eventSender.mouseUp(button); 147 eventSender.mouseUp(button);
133 // TODO(crbug.com/548226): Investigate missing events in win_chromium_rel_ng on 3rd down/up. 148 // TODO(crbug.com/548226): Investigate missing events in win_chromium_rel_ng on 3rd down/up.
134 } 149 }
135 debug(""); 150 debug("");
136 151
137 debug("--- click with each modifier ---"); 152 debug("--- click with each modifier ---");
138 checkKeyModifiers = true; 153 checkKeyModifiers = true;
139 forEachModifier(function(attr, modifierName, eventSenderName) { 154 forEachModifier(function(attr, modifierName, eventSenderName) {
140 eventSender.mouseDown(0, [eventSenderName]); 155 eventSender.mouseDown(0, [eventSenderName]);
141 eventSender.mouseUp(0, [eventSenderName]); 156 eventSender.mouseUp(0, [eventSenderName]);
142 }); 157 });
143 checkKeyModifiers = false; 158 checkKeyModifiers = false;
144 debug(""); 159 debug("");
145 160
146 debug("--- move mouse out of target ---"); 161 debug("--- move mouse out of target ---");
147 eventSender.mouseMoveTo(rect.left - 5, rect.top - 5); 162 eventSender.mouseMoveTo(x - 5, y - 5);
163
164 debug("");
165 }
166
167 function runPenTests(x, y) {
168 debug("===== pen tests =====");
169 pointerType = "pen";
170 penId = 2;
171 penPressure = 0.0;
172 penTiltX = 0;
173 penTiltY = 0;
174
175 debug("--- move pen into target ---");
176 eventSender.mouseMoveTo(x + 5, y + 5, [], "pen", penId, penPressure, penTiltX, penTiltY);
177 debug("");
178
179 debug("--- move within target & tap ---");
180 penTiltX = 45;
181 penTiltY = -34;
182 eventSender.mouseMoveTo(x + 15, y + 15, [], "pen", penId, penPressure, penTilt X, penTiltY);
183 penPressure = 0.75;
184 eventSender.mouseDown(0, [], "pen", penId, penPressure, penTiltX, penTiltY);
185 penPressure = 0.0;
186 eventSender.mouseUp(0, [], "pen", penId, penPressure, penTiltX, penTiltY);
187
188 debug("--- move pen out of target ---");
189 eventSender.mouseMoveTo(x - 5, y - 5, [], "pen", penId, penPressure, penTiltX, penTiltY);
190
191 debug("");
192 }
193
194 function runAllTests() {
195 var rect = document.getElementById("target").getBoundingClientRect();
196
197 runMouseTests(rect.left, rect.top);
198 runPenTests(rect.left, rect.top);
148 } 199 }
149 200
150 init(); 201 init();
151 if (window.eventSender) 202 if (window.eventSender)
152 runTests(); 203 runAllTests();
153 else 204 else
154 debug("This test requires eventSender"); 205 debug("This test requires eventSender");
155 206
156 </script> 207 </script>
OLDNEW

Powered by Google App Engine