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

Side by Side Diff: third_party/WebKit/LayoutTests/imported/wpt_automation/pointerevents/pointerevent_common_input.js

Issue 2348183003: Test synthetic pointer action on pointer event tests (Closed)
Patch Set: pointer event tests Created 3 years, 11 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
« no previous file with comments | « content/renderer/gpu/gpu_benchmarking_extension.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // This file contains the commonly used functions in pointerevent tests. 1 // This file contains the commonly used functions in pointerevent tests.
2 2
3 const scrollOffset = 30; 3 const scrollOffset = 30;
4 const boundaryOffset = 5; 4 const boundaryOffset = 5;
5 const touchSourceType = 1; 5 const touchSourceType = 1;
6 6
7 var xPosition = 0;
8 var yPosition = 0;
9
7 function delayPromise(delay) { 10 function delayPromise(delay) {
8 return new Promise(function(resolve, reject) { 11 return new Promise(function(resolve, reject) {
9 window.setTimeout(resolve, delay); 12 window.setTimeout(resolve, delay);
10 }); 13 });
11 } 14 }
12 15
13 function scrollPageIfNeeded(targetSelector, targetDocument) { 16 function scrollPageIfNeeded(targetSelector, targetDocument) {
14 var target = targetDocument.querySelector(targetSelector); 17 var target = targetDocument.querySelector(targetSelector);
15 var targetRect = target.getBoundingClientRect(); 18 var targetRect = target.getBoundingClientRect();
16 if (targetRect.top < 0 || targetRect.left < 0 || targetRect.bottom > window.in nerHeight || targetRect.right > window.innerWidth) 19 if (targetRect.top < 0 || targetRect.left < 0 || targetRect.bottom > window.in nerHeight || targetRect.right > window.innerWidth)
(...skipping 116 matching lines...) Expand 10 before | Expand all | Expand 10 after
133 targetDocument = targetFrame.contentDocument; 136 targetDocument = targetFrame.contentDocument;
134 var frameRect = targetFrame.getBoundingClientRect(); 137 var frameRect = targetFrame.getBoundingClientRect();
135 frameLeft = frameRect.left; 138 frameLeft = frameRect.left;
136 frameTop = frameRect.top; 139 frameTop = frameRect.top;
137 } 140 }
138 return new Promise(function(resolve, reject) { 141 return new Promise(function(resolve, reject) {
139 if (window.chrome && chrome.gpuBenchmarking) { 142 if (window.chrome && chrome.gpuBenchmarking) {
140 scrollPageIfNeeded(targetSelector, targetDocument); 143 scrollPageIfNeeded(targetSelector, targetDocument);
141 var target = targetDocument.querySelector(targetSelector); 144 var target = targetDocument.querySelector(targetSelector);
142 var targetRect = target.getBoundingClientRect(); 145 var targetRect = target.getBoundingClientRect();
143 chrome.gpuBenchmarking.tap(frameLeft + targetRect.left + boundaryOffset, f rameTop + targetRect.top + boundaryOffset, resolve); 146 xPosition = frameLeft + targetRect.left + boundaryOffset;
147 yPosition = frameTop + targetRect.top + boundaryOffset;
148 chrome.gpuBenchmarking.pointerActionSequence( {
149 "source": "touch",
150 "pointer": [
151 {
152 "id": 1,
153 "actions": [
154 { "name": "pointerDown", "x": xPosition, "y": yPosition },
155 { "name": "pointerUp" }
156 ]
157 }]}, resolve);
144 } else { 158 } else {
145 reject(); 159 reject();
146 } 160 }
147 }); 161 });
148 } 162 }
149 163
150 function touchScrollInTarget(targetSelector, direction) { 164 function touchScrollInTarget(targetSelector, direction) {
151 return new Promise(function(resolve, reject) { 165 return new Promise(function(resolve, reject) {
152 if (window.chrome && chrome.gpuBenchmarking) { 166 if (window.chrome && chrome.gpuBenchmarking) {
153 scrollPageIfNeeded(targetSelector, document); 167 scrollPageIfNeeded(targetSelector, document);
154 var target = document.querySelector(targetSelector); 168 var target = document.querySelector(targetSelector);
155 var targetRect = target.getBoundingClientRect(); 169 var targetRect = target.getBoundingClientRect();
156 chrome.gpuBenchmarking.smoothScrollBy(scrollOffset, resolve, 170 xPosition = targetRect.left + boundaryOffset;
157 targetRect.left + boundaryOffset, targetRect.top + boundaryOffset, tou chSourceType, direction); 171 yPosition = targetRect.top + boundaryOffset;
172 var newXPosition = xPosition;
173 var newYPosition = yPosition;
174 if (direction == "down") {
175 newYPosition -= scrollOffset;
176 } else if (direction == "up") {
177 newYPosition += scrollOffset;
178 } else if (direction == "right") {
179 newXPosition -= scrollOffset;
180 } else if (direction == "left") {
181 newXPosition += scrollOffset;
182 } else {
183 return false;
184 }
185 chrome.gpuBenchmarking.pointerActionSequence( {
186 "source": "touch",
187 "pointer": [
188 {
189 "id": 1,
190 "actions": [
191 { "name": "pointerDown", "x": xPosition, "y": yPosition },
192 { "name": "pointerMove", "x": newXPosition, "y": newYPosition },
193 { "name": "pause" },
194 { "name": "pause" },
195 { "name": "pause" },
196 { "name": "pause" },
197 { "name": "pause" },
198 { "name": "pause" },
199 { "name": "pointerUp" }
200 ]
201 }]}, resolve);
158 } else { 202 } else {
159 reject(); 203 reject();
160 } 204 }
161 }); 205 });
162 } 206 }
163 207
164 function pinchZoomInTarget(targetSelector, scale) { 208 function pinchZoomInTarget(targetSelector, scale) {
165 return new Promise(function(resolve, reject) { 209 return new Promise(function(resolve, reject) {
166 if (window.chrome && chrome.gpuBenchmarking) { 210 if (window.chrome && chrome.gpuBenchmarking) {
167 scrollPageIfNeeded(targetSelector, document); 211 scrollPageIfNeeded(targetSelector, document);
168 var target = document.querySelector(targetSelector); 212 var target = document.querySelector(targetSelector);
169 var targetRect = target.getBoundingClientRect(); 213 var targetRect = target.getBoundingClientRect();
170 chrome.gpuBenchmarking.pinchBy(scale, targetRect.left + (targetRect.width/ 2), targetRect.top + (targetRect.height/2), function() { 214 xPosition = targetRect.left + (targetRect.width/2);
171 resolve(); 215 yPosition = targetRect.top + (targetRect.height/2);
172 }); 216 chrome.gpuBenchmarking.pointerActionSequence( {
217 "source": "touch",
218 "pointer": [
219 {
220 "id": 1,
221 "actions": [
222 { "name": "pointerDown", "x": xPosition, "y": yPosition - 10},
223 { "name": "pointerMove", "x": xPosition, "y": yPosition - 20},
224 { "name": "pointerMove", "x": xPosition, "y": yPosition - 30},
225 { "name": "pointerMove", "x": xPosition, "y": yPosition - 40},
226 { "name": "pointerMove", "x": xPosition, "y": yPosition - 50},
227 { "name": "pointerMove", "x": xPosition, "y": yPosition - 60},
228 { "name": "pointerMove", "x": xPosition, "y": yPosition - 70},
229 { "name": "pointerMove", "x": xPosition, "y": yPosition - 80},
230 { "name": "pointerUp" }
231 ]
232 }, {
233 "id": 2,
234 "actions": [
235 { "name": "pointerDown", "x": xPosition, "y": yPosition + 10},
236 { "name": "pointerMove", "x": xPosition, "y": yPosition + 20},
237 { "name": "pointerMove", "x": xPosition, "y": yPosition + 30},
238 { "name": "pointerMove", "x": xPosition, "y": yPosition + 40},
239 { "name": "pointerMove", "x": xPosition, "y": yPosition + 50},
240 { "name": "pointerMove", "x": xPosition, "y": yPosition + 60},
241 { "name": "pointerMove", "x": xPosition, "y": yPosition + 70},
242 { "name": "pointerMove", "x": xPosition, "y": yPosition + 80},
243 { "name": "pointerUp" }
244 ]
245 }]}, resolve);
173 } else { 246 } else {
174 reject(); 247 reject();
175 } 248 }
176 }); 249 });
177 } 250 }
178 251
179 // Pen inputs. 252 // Pen inputs.
180 function penMoveToDocument() { 253 function penMoveToDocument() {
181 return new Promise(function(resolve, reject) { 254 return new Promise(function(resolve, reject) {
182 if (window.eventSender) { 255 if (window.eventSender) {
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after
242 } 315 }
243 316
244 { 317 {
245 var pointerevent_automation = async_test("PointerEvent Automation"); 318 var pointerevent_automation = async_test("PointerEvent Automation");
246 // Defined in every test and should return a promise that gets resolved when i nput is finished. 319 // Defined in every test and should return a promise that gets resolved when i nput is finished.
247 inject_input().then(function() { 320 inject_input().then(function() {
248 pointerevent_automation.done(); 321 pointerevent_automation.done();
249 }); 322 });
250 } 323 }
251 324
OLDNEW
« no previous file with comments | « content/renderer/gpu/gpu_benchmarking_extension.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698