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

Side by Side Diff: third_party/WebKit/LayoutTests/virtual/pointerevent/fast/events/pointerevents/touch-capture-in-iframe.html

Issue 1971473002: Move touch hit testing to PointerEventManager (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Applying comments Created 4 years, 7 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 iframe {
5 width: 300px;
6 height: 300px;
7 top: 100px;
8 left: 50px;
9 border: 0;
10 position: absolute;
11 background: green;
12 }
13 #outerFrame {
14 width: 500px;
15 height: 500px;
16 background: blue;
17 }
18 </style>
19
20 <body>
21 <div id='outerFrame'>
22 <iframe id='innerFrameElement' srcdoc="
23 <body id='innerFrame' style='height:500px; width: 500px; padding: 0; margin: 0 ;'>
24 <script>
25 top.document.testEventList.forEach(function(eventName) {
26 document.documentElement.addEventListener(eventName, function(event) {
27 top.document.events.push(event);
28 });
29 });
30 </script>
31 </body>">
32 </iframe>
33 </div>
34
35 <div id='console'></div>
36
37 <script>
38 var outerFrameX = 20;
39 var outerFrameY = 20;
40 var innerFrameX = 200;
41 var innerFrameY = 200;
42
43 document.testEventList = ['pointerup', 'pointerdown', 'pointermove', 'gotpointer capture', 'lostpointercapture', 'pointercancel',
44 'touchstart', 'touchmove', 'touchend'];
45 document.testEventList.forEach(function(eventName) {
46 document.getElementById('outerFrame').addEventListener(eventName, function(eve nt) {
47 document.events.push(event);
48 });
49 });
50
51 var attributes = [
52 'target'
53 ];
54
55 document.events = [];
56
57 function testScenario(firstFingerInitFrame, secondFingerInitFrame) {
58 var firstFingerX1 = firstFingerInitFrame == "innerFrame" ? innerFrameX : outer FrameX;
59 var firstFingerY1 = firstFingerInitFrame == "innerFrame" ? innerFrameY : outer FrameY;
60 var firstFingerX2 = firstFingerInitFrame == "outerFrame" ? innerFrameX : outer FrameX;
61 var firstFingerY2 = firstFingerInitFrame == "outerFrame" ? innerFrameY : outer FrameY;
62 var secondFingerX1 = secondFingerInitFrame == "innerFrame" ? innerFrameX : out erFrameX;
63 var secondFingerY1 = secondFingerInitFrame == "innerFrame" ? innerFrameY : out erFrameY;
64 var secondFingerX2 = secondFingerInitFrame == "outerFrame" ? innerFrameX : out erFrameX;
65 var secondFingerY2 = secondFingerInitFrame == "outerFrame" ? innerFrameY : out erFrameY;
66 var firstFingerFinalFrame = (firstFingerInitFrame == 'innerFrame') ? 'outerFra me' : 'innerFrame';
67 var secondFingerFinalFrame = (secondFingerInitFrame == 'innerFrame') ? 'outerF rame' : 'innerFrame';
68
69 debug('==== Finger1 in ' + firstFingerInitFrame + ' and Finger2 in ' + secondF ingerInitFrame + ' ====');
70 debug('*** Put first finger down in ' + firstFingerInitFrame + ' and move ***' );
71 eventSender.addTouchPoint(firstFingerX1, firstFingerY1);
72 eventSender.touchStart();
73 eventSender.updateTouchPoint(0, firstFingerX1, firstFingerY1);
74 eventSender.touchMove();
75 dumpEvents();
76
77 debug('*** Put second finger in ' + secondFingerInitFrame + ' and move ***');
78 eventSender.addTouchPoint(secondFingerX1, secondFingerY1);
79 eventSender.touchStart();
80 eventSender.updateTouchPoint(1, secondFingerX1, secondFingerY1);
81 eventSender.touchMove();
82 dumpEvents();
83
84 debug('*** Move first finger to ' + firstFingerFinalFrame + ' ***');
85 eventSender.updateTouchPoint(0, firstFingerX2, firstFingerY2);
86 eventSender.touchMove();
87 dumpEvents();
88
89 debug('*** Move second finger to ' + secondFingerFinalFrame + ' ***');
90 eventSender.updateTouchPoint(1, secondFingerX2, secondFingerY2);
91 eventSender.touchMove();
92 dumpEvents();
93
94 debug('*** Releasing fingers ***');
95 eventSender.releaseTouchPoint(0);
96 eventSender.releaseTouchPoint(1);
97 eventSender.touchEnd();
98 dumpEvents();
99 }
100
101
102 function scenario1() {
mustaq 2016/05/16 20:44:04 I guess this is stale code?
Navid Zolghadr 2016/05/16 20:53:05 My bad. I missed it. done.
103 debug('==== Finger1 in innerFrame and Finger2 in outerFrame ====');
104 debug(' *** Put first finger down in innerFrame and move ***');
105 eventSender.addTouchPoint(innerFrameX, innerFrameY)
106 eventSender.touchStart();
107 eventSender.updateTouchPoint(0, innerFrameX, innerFrameY);
108 eventSender.touchMove();
109 dumpEvents();
110
111 debug(' *** Put second finger in outerFrame ***');
112 eventSender.addTouchPoint(outerFrameX, outerFrameY)
113 eventSender.touchStart();
114 dumpEvents();
115
116 debug(' *** Move second finger in outerFrame ***');
117 eventSender.updateTouchPoint(1, outerFrameX, outerFrameY);
118 eventSender.touchMove();
119 dumpEvents();
120
121 debug(' *** Move second finger into innerFrame ***');
122 eventSender.updateTouchPoint(1, innerFrameX, innerFrameY);
123 eventSender.touchMove();
124 dumpEvents();
125
126 debug(' *** Move first finger in innerFrame ***');
127 eventSender.updateTouchPoint(0, innerFrameX, innerFrameY);
128 eventSender.touchMove();
129 dumpEvents();
130
131 debug(' *** Move first finger out of innerFrame ***');
132 eventSender.updateTouchPoint(0, outerFrameX, outerFrameY);
133 eventSender.touchMove();
134 dumpEvents();
135
136 debug(' *** Releasing fingers ***');
137 eventSender.releaseTouchPoint(0);
138 eventSender.releaseTouchPoint(1);
139 eventSender.touchEnd();
140 dumpEvents();
141 }
142
143 function runTests() {
144 testScenario('innerFrame', 'outerFrame');
145 testScenario('outerFrame', 'innerFrame');
146 testScenario('innerFrame', 'innerFrame');
147 testScenario('outerFrame', 'outerFrame');
148 testRunner.notifyDone();
149 }
150
151 function dumpEvents()
152 {
153 document.events.forEach(function(event) {
154 if (event.type.includes('pointer')) {
155 debug(event.target.id + ' recieved ' + event.type);
156 } else if (event.type.startsWith('touch')) {
157 debug(event.type + ' is recieved with changedTouches.length=' + event.chan gedTouches.length + ':');
158 for(var i=0; i<event.changedTouches.length; i++) {
159 debug(' Touch with id=' + event.changedTouches[i].identifier + ' with t arget = ' + event.changedTouches[i].target.id);
160 }
161 }
162 });
163 debug('');
164 document.events = [];
165 }
166
167 if (window.eventSender) {
168 testRunner.waitUntilDone();
169 window.onload = runTests;
170 } else
171 debug('This test requires eventSender');
172
173 description("This test verifies clientX/Y of pointer events inside iframe.");
174
175 </script>
176 </body>
OLDNEW
« no previous file with comments | « no previous file | third_party/WebKit/LayoutTests/virtual/pointerevent/fast/events/pointerevents/touch-capture-in-iframe-expected.txt » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698