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

Side by Side Diff: LayoutTests/fast/events/touch/gesture/gesture-tap-mouse-events-between-frames.html

Issue 1170513002: Update the mouse events on tapping of gesture across frames (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Created 5 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 <script src="../../resources/record-events.js"></script>
4 <style>
5 div {
6 margin: 10px;
7 padding: 50px;
8 float: left;
9 }
10 #console {
11 padding: 0px;
12 float: none;
13 }
14 #frame {
15 margin: 0px;
16 border: 0px;
17 width: 400px;
18 height: 400px;
19 }
20 </style>
21
22 <div id="gray" style="background-color:gray">
23 <div id="lightgreen" style="background-color:lightgreen">
24 <div id="green" style="background-color:green;">
25 </div>
26 </div>
27 </div>
28 <iframe src='resources/gesture-tap-mouse-events-between-frames-iframe.html' id=' frame'></iframe>
mustaq 2015/06/08 17:24:24 Please add the *-iframe.html file to the CL.
Miyoung Shin(c) 2015/06/10 12:10:04 Sorry to miss the file. I've added it.
29 <div id="console"></div>
30
31 <script>
32 description("Verifies that tapping on an element sends mouse events to appropria te ancestors of the tapped element in correct order.");
mustaq 2015/06/08 17:24:24 Please update the description.
Miyoung Shin(c) 2015/06/10 12:10:05 Done.
33
34 var frame = document.getElementById("frame");
35 var greenEnterOrder = [
36 ["green", "mouseover"],
37 ["lightgreen", "mouseover"],
38 ["gray", "mouseover"],
mustaq 2015/06/08 17:24:24 My repro in the bug was a bit too complicated beca
Miyoung Shin(c) 2015/06/10 12:10:04 I've removed the gray and hotpink's divs. (now usi
39 ["gray", "mouseenter"],
40 ["lightgreen", "mouseenter"],
41 ["green", "mouseenter"],
42 ["green", "mousedown"],
43 ["lightgreen", "mousedown"],
44 ["gray", "mousedown"],
45 ["green", "mouseup"],
46 ["lightgreen", "mouseup"],
47 ["gray", "mouseup"],
48 ["green", "click"],
49 ["lightgreen", "click"],
50 ["gray", "click"]];
51
52 var greenLeaveOrder = [
53 ["green", "mouseout"],
54 ["lightgreen", "mouseout"],
55 ["gray", "mouseout"],
56 ["green", "mouseleave"],
57 ["lightgreen", "mouseleave"],
58 ["gray", "mouseleave"]];
59
60 var pinkEnterOrder = [
61 ["deeppink", "mouseover"],
62 ["hotpink", "mouseover"],
63 ["lightpink", "mouseover"],
64 ["lightpink", "mouseenter"],
65 ["hotpink", "mouseenter"],
66 ["deeppink", "mouseenter"],
67 ["deeppink", "mousedown"],
68 ["hotpink", "mousedown"],
69 ["lightpink", "mousedown"],
70 ["deeppink", "mouseup"],
71 ["hotpink", "mouseup"],
72 ["lightpink", "mouseup"],
73 ["deeppink", "click"],
74 ["hotpink", "click"],
75 ["lightpink", "click"]];
76
77 var pinkLeaveOrder = [
78 ["deeppink", "mouseout"],
79 ["hotpink", "mouseout"],
80 ["lightpink", "mouseout"],
81 ["deeppink", "mouseleave"],
82 ["hotpink", "mouseleave"],
83 ["lightpink", "mouseleave"]];
84
85 function getElementById(id)
86 {
87 var element = document.getElementById(id);
88 if (element == null)
89 element = frame.contentDocument.getElementById(id);
90 return element;
91 }
92
93 function init() {
94 var ids = ["gray", "lightgreen", "green", "lightpink", "hotpink", "deeppink" ];
95
96 var elements = [];
97 ids.forEach(function(id) {
98 var element = getElementById(id);
99 elements.push(element);
100 });
101 registerElementsAndEventsToRecord(elements, ["mouseover", "mouseout", "mouse enter", "mouseleave", "mouseup", "mousedown", "click"]);
102 }
103
104 function doGesture(id, base)
105 {
106 debug("-- sending gestureTap to " + id + " --");
107 var element = getElementById(id);
108
109 var x = base.x + element.offsetLeft + element.offsetWidth / 2;
110 var y = base.y + element.offsetTop + element.offsetHeight / 2;
111 eventSender.gestureTapDown(x, y);
112 eventSender.gestureShowPress(x, y);
113 eventSender.gestureTap(x, y);
mustaq 2015/06/08 17:24:24 I guess just sending a gestureTap here should be e
Miyoung Shin(c) 2015/06/10 12:10:04 I agree with you. I've removed to check the moused
114 }
115
116 function runTests()
117 {
118 init();
119 if (window.eventSender) {
120 debug("--- Tap tests ---");
121
122 var expectedOrder = [];
123 beginRecordingEvents();
124 doGesture("green", {x: 0, y: 0});
125 expectedOrder = expectedOrder.concat(greenEnterOrder);
126 checkThatEventsFiredInOrder(expectedOrder);
127
mustaq 2015/06/08 17:24:24 Please cover the case of two consecutive taps in a
Miyoung Shin(c) 2015/06/10 12:10:04 Done.
128 doGesture("deeppink", {x: frame.offsetLeft, y: frame.offsetTop});
129 expectedOrder = expectedOrder.concat(greenLeaveOrder, pinkEnterOrder);
130 checkThatEventsFiredInOrder(expectedOrder);
131
132 doGesture("green", {x: 0, y: 0});
133 expectedOrder = expectedOrder.concat(pinkLeaveOrder, greenEnterOrder);
134 checkThatEventsFiredInOrder(expectedOrder);
135 endRecordingEvents();
136 } else {
137 debug("This test requires eventSender");
138 }
139 finishJSTest();
140 }
141
142 if (window.testRunner) {
143 window.jsTestIsAsync = true;
144 testRunner.waitUntilDone();
145 }
146
147 window.onload = runTests;
148 </script>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698