| OLD | NEW |
| 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 function delayPromise(delay) { | 7 function delayPromise(delay) { |
| 8 return new Promise(function(resolve, reject) { | 8 return new Promise(function(resolve, reject) { |
| 9 window.setTimeout(resolve, delay); | 9 window.setTimeout(resolve, delay); |
| 10 }); | 10 }); |
| (...skipping 277 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 288 chrome.gpuBenchmarking.pointerActionSequence(pointerActions, resolve); | 288 chrome.gpuBenchmarking.pointerActionSequence(pointerActions, resolve); |
| 289 } else { | 289 } else { |
| 290 reject(); | 290 reject(); |
| 291 } | 291 } |
| 292 }); | 292 }); |
| 293 } | 293 } |
| 294 | 294 |
| 295 // Pen inputs. | 295 // Pen inputs. |
| 296 function penMoveToDocument() { | 296 function penMoveToDocument() { |
| 297 return new Promise(function(resolve, reject) { | 297 return new Promise(function(resolve, reject) { |
| 298 if (window.eventSender) { | 298 if (window.chrome && chrome.gpuBenchmarking) { |
| 299 eventSender.mouseMoveTo(0, 0, [], "pen", 0); | 299 chrome.gpuBenchmarking.pointerActionSequence( [ |
| 300 resolve(); | 300 {"source": "pen", |
| 301 "actions": [ |
| 302 { "name": "pointerMove", "x": 0, "y": 0 } |
| 303 ]}], resolve); |
| 301 } else { | 304 } else { |
| 302 reject(); | 305 reject(); |
| 303 } | 306 } |
| 304 }); | 307 }); |
| 305 } | 308 } |
| 306 | 309 |
| 307 function penMoveIntoTarget(targetSelector, targetFrame) { | 310 function penMoveIntoTarget(targetSelector, targetFrame) { |
| 308 var targetDocument = document; | 311 var targetDocument = document; |
| 309 var frameLeft = 0; | 312 var frameLeft = 0; |
| 310 var frameTop = 0; | 313 var frameTop = 0; |
| 311 if (targetFrame !== undefined) { | 314 if (targetFrame !== undefined) { |
| 312 targetDocument = targetFrame.contentDocument; | 315 targetDocument = targetFrame.contentDocument; |
| 313 var frameRect = targetFrame.getBoundingClientRect(); | 316 var frameRect = targetFrame.getBoundingClientRect(); |
| 314 frameLeft = frameRect.left; | 317 frameLeft = frameRect.left; |
| 315 frameTop = frameRect.top; | 318 frameTop = frameRect.top; |
| 316 } | 319 } |
| 317 return new Promise(function(resolve, reject) { | 320 return new Promise(function(resolve, reject) { |
| 318 if (window.eventSender) { | 321 if (window.chrome && chrome.gpuBenchmarking) { |
| 319 var target = targetDocument.querySelector(targetSelector); | 322 var target = targetDocument.querySelector(targetSelector); |
| 320 var targetRect = target.getBoundingClientRect(); | 323 var targetRect = target.getBoundingClientRect(); |
| 321 eventSender.mouseMoveTo(frameLeft + targetRect.left + boundaryOffset, fram
eTop + targetRect.top + boundaryOffset, [], "pen", 0); | 324 var xPosition = frameLeft + targetRect.left + boundaryOffset; |
| 322 resolve(); | 325 var yPosition = frameTop + targetRect.top + boundaryOffset; |
| 326 chrome.gpuBenchmarking.pointerActionSequence( [ |
| 327 {"source": "pen", |
| 328 "actions": [ |
| 329 { "name": "pointerMove", "x": xPosition, "y": yPosition } |
| 330 ]}], resolve); |
| 323 } else { | 331 } else { |
| 324 reject(); | 332 reject(); |
| 325 } | 333 } |
| 326 }); | 334 }); |
| 327 } | 335 } |
| 328 | 336 |
| 329 function penClickInTarget(targetSelector, targetFrame) { | 337 function penClickInTarget(targetSelector, targetFrame) { |
| 330 return penMoveIntoTarget(targetSelector, targetFrame).then(function() { | 338 var targetDocument = document; |
| 331 return new Promise(function(resolve, reject) { | 339 var frameLeft = 0; |
| 332 if (window.eventSender) { | 340 var frameTop = 0; |
| 333 eventSender.mouseDown(0, [], "pen", 0); | 341 if (targetFrame !== undefined) { |
| 334 eventSender.mouseUp(0, [], "pen", 0); | 342 targetDocument = targetFrame.contentDocument; |
| 335 resolve(); | 343 var frameRect = targetFrame.getBoundingClientRect(); |
| 336 } else { | 344 frameLeft = frameRect.left; |
| 337 reject(); | 345 frameTop = frameRect.top; |
| 338 } | 346 } |
| 339 }); | 347 return new Promise(function(resolve, reject) { |
| 348 if (window.chrome && chrome.gpuBenchmarking) { |
| 349 scrollPageIfNeeded(targetSelector, targetDocument); |
| 350 var target = targetDocument.querySelector(targetSelector); |
| 351 var targetRect = target.getBoundingClientRect(); |
| 352 var xPosition = frameLeft + targetRect.left + boundaryOffset; |
| 353 var yPosition = frameTop + targetRect.top + boundaryOffset; |
| 354 chrome.gpuBenchmarking.pointerActionSequence( [ |
| 355 {"source": "pen", |
| 356 "actions": [ |
| 357 { "name": "pointerMove", "x": xPosition, "y": yPosition }, |
| 358 { "name": "pointerDown", "x": xPosition, "y": yPosition }, |
| 359 { "name": "pointerUp" } |
| 360 ]}], resolve); |
| 361 } else { |
| 362 reject(); |
| 363 } |
| 340 }); | 364 }); |
| 341 } | 365 } |
| 342 | 366 |
| 343 // Keyboard inputs. | 367 // Keyboard inputs. |
| 344 function keyboardScroll(direction) { | 368 function keyboardScroll(direction) { |
| 345 return new Promise(function(resolve, reject) { | 369 return new Promise(function(resolve, reject) { |
| 346 if (window.eventSender) { | 370 if (window.eventSender) { |
| 347 if (direction == 'down') | 371 if (direction == 'down') |
| 348 eventSender.keyDown('ArrowDown'); | 372 eventSender.keyDown('ArrowDown'); |
| 349 else if (direction == 'right') | 373 else if (direction == 'right') |
| 350 eventSender.keyDown('ArrowRight'); | 374 eventSender.keyDown('ArrowRight'); |
| 351 else | 375 else |
| 352 reject(); | 376 reject(); |
| 353 resolve(); | 377 resolve(); |
| 354 } else { | 378 } else { |
| 355 reject(); | 379 reject(); |
| 356 } | 380 } |
| 357 }); | 381 }); |
| 358 } | 382 } |
| 359 | 383 |
| 360 { | 384 { |
| 361 var pointerevent_automation = async_test("PointerEvent Automation"); | 385 var pointerevent_automation = async_test("PointerEvent Automation"); |
| 362 // Defined in every test and should return a promise that gets resolved when i
nput is finished. | 386 // Defined in every test and should return a promise that gets resolved when i
nput is finished. |
| 363 inject_input().then(function() { | 387 inject_input().then(function() { |
| 364 pointerevent_automation.done(); | 388 pointerevent_automation.done(); |
| 365 }); | 389 }); |
| 366 } | 390 } |
| 367 | 391 |
| OLD | NEW |