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

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

Issue 1391393002: Fire pointerup/down events for corresponding mouse events. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Skipped the failing test. Created 5 years, 1 month 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
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 { 5 div.box {
6 margin: 10px; 6 margin: 10px;
7 padding: 50px; 7 padding: 50px;
8 float: left; 8 float: left;
9 } 9 }
10 #console {
11 padding: 0px;
12 float: none;
13 }
14 </style> 10 </style>
15 11
16 <div id="target" style="background-color:red"> 12 <div id="target" class="box" style="background-color:red">
17 </div> 13 </div>
18 14
19 <div id="console"></div> 15 <div id="console"></div>
20 16
21 <script> 17 <script>
22 description("Verifies that pointer event parameters are correct when fired for m ouse events."); 18 description("Verifies that pointer event parameters are correct when fired for m ouse events.");
23 19
24 // TODO(mustaq): Grow the list as we add support for more PEs 20 // TODO(mustaq): Grow the list as we add support for more PEs
25 var testEventList = ["mouseenter", "mouseleave", "mouseover", "mouseout", 21 var testEventList = ["mouseenter", "mouseleave", "mouseover", "mouseout", "mouse up", "mousedown",
26 "pointerenter", "pointerleave", "pointerover", "pointerout"]; 22 "pointerenter", "pointerleave", "pointerover", "pointerout", "pointerup", "pointerdown"];
27 var lastPointerEvent = null; 23 var lastPointerEvent = null;
28 24
25 var checkKeyModifiers = false;
26
29 var numericAttributes = [ 27 var numericAttributes = [
30 "clientX", 28 "clientX",
31 "clientY", 29 "clientY",
32 "layerX", 30 "layerX",
33 "layerY", 31 "layerY",
34 "movementX", 32 "movementX",
35 "movementY", 33 "movementY",
36 "offsetX", 34 "offsetX",
37 "offsetY", 35 "offsetY",
38 "pageX", 36 "pageX",
(...skipping 12 matching lines...) Expand all
51 testEventList.forEach(function(eventName) { 49 testEventList.forEach(function(eventName) {
52 50
53 targetDiv.addEventListener(eventName, function(event) { 51 targetDiv.addEventListener(eventName, function(event) {
54 52
55 debug("Received " + event.type); 53 debug("Received " + event.type);
56 54
57 if (event.type.startsWith("pointer")) 55 if (event.type.startsWith("pointer"))
58 lastPointerEvent = event; 56 lastPointerEvent = event;
59 else { 57 else {
60 shouldBeNonNull("lastPointerEvent"); 58 shouldBeNonNull("lastPointerEvent");
59 shouldBeEqualToString("lastPointerEvent.type", event.type.replace("mouse ", "pointer"));
61 60
62 shouldBeEqualToString("lastPointerEvent.type", event.type.replace("mouse ", "pointer")); 61 if (!checkKeyModifiers) {
63 if (lastPointerEvent.type=="pointerenter" || lastPointerEvent.type=="poi nterleave") { 62
64 shouldBeFalse("lastPointerEvent.bubbles"); 63 if (lastPointerEvent.type=="pointerenter" || lastPointerEvent.type=="p ointerleave") {
65 shouldBeFalse("lastPointerEvent.cancelable"); 64 shouldBeFalse("lastPointerEvent.bubbles");
65 shouldBeFalse("lastPointerEvent.cancelable");
66 } else {
67 shouldBeTrue("lastPointerEvent.bubbles");
68 shouldBeTrue("lastPointerEvent.cancelable");
69 }
70
71 shouldBeEqualToNumber("lastPointerEvent.pointerId", 0);
72 shouldBeEqualToString("lastPointerEvent.pointerType", "mouse");
73 shouldBeTrue("lastPointerEvent.isPrimary");
74
75 numericAttributes.forEach(function(attribute) {
76 shouldBeEqualToNumber("lastPointerEvent." + attribute, eval("event." + attribute));
77 });
78
66 } else { 79 } else {
67 shouldBeTrue("lastPointerEvent.bubbles"); 80
68 shouldBeTrue("lastPointerEvent.cancelable"); 81 forEachModifier(function(attr, modifierName) {
82 var getModifierStateStr = ".getModifierState('" + modifierName + "') ;"
83 if (eval("event" + getModifierStateStr))
84 shouldBeTrue("lastPointerEvent" + getModifierStateStr);
85 else
86 shouldBeFalse("lastPointerEvent" + getModifierStateStr);
87 });
88
69 } 89 }
70 90
71 shouldBeEqualToNumber("lastPointerEvent.pointerId", 0);
72 shouldBeEqualToString("lastPointerEvent.pointerType", "mouse");
73 shouldBeTrue("lastPointerEvent.isPrimary");
74
75 numericAttributes.forEach(function(attribute) {
76 shouldBeEqualToNumber("lastPointerEvent." + attribute, eval("event." + attribute));
77 });
78
79 forEachModifier(function(attr, modifierName) {
80 var getModifierStateStr = ".getModifierState('" + modifierName + "');"
81 if (eval("event" + getModifierStateStr))
82 shouldBeTrue("lastPointerEvent" + getModifierStateStr);
83 else
84 shouldBeFalse("lastPointerEvent" + getModifierStateStr);
85 });
86
87 lastPointerEvent = null; 91 lastPointerEvent = null;
88 } 92 }
89 }); 93 });
90 94
91 }); 95 });
92 } 96 }
93 97
94 function runTests() { 98 function runTests() {
95 var rect = document.getElementById("target").getBoundingClientRect(); 99 var rect = document.getElementById("target").getBoundingClientRect();
100
101 debug("--- move mouse into target ---");
96 eventSender.mouseMoveTo(rect.left + 5, rect.top + 5); 102 eventSender.mouseMoveTo(rect.left + 5, rect.top + 5);
103 debug("");
104
105 debug("--- click each button ---");
106 for (var button = 0; button <=2; button++) {
107 eventSender.mouseDown(button);
108 eventSender.mouseUp(button);
109 // TODO(crbug.com/548226): Investigate missing events in win_chromium_rel_ng on 3rd down/up.
110 }
111 debug("");
112
113 debug("--- click with each modifier ---");
114 checkKeyModifiers = true;
115 forEachModifier(function(attr, modifierName, eventSenderName) {
116 eventSender.mouseDown(0, [eventSenderName]);
117 eventSender.mouseUp(0, [eventSenderName]);
118 });
119 checkKeyModifiers = false;
120 debug("");
121
122 debug("--- move mouse out of target ---");
97 eventSender.mouseMoveTo(rect.left - 5, rect.top - 5); 123 eventSender.mouseMoveTo(rect.left - 5, rect.top - 5);
98
99 //TODO(mustaq): add tests for buttons & modifierStates when doing pointerdown/ up.
100 } 124 }
101 125
102 init(); 126 init();
103 if (window.eventSender) 127 if (window.eventSender)
104 runTests(); 128 runTests();
105 else 129 else
106 debug("This test requires eventSender"); 130 debug("This test requires eventSender");
107 131
108 </script> 132 </script>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698