| Index: third_party/WebKit/LayoutTests/external/wpt_automation/pointerevents/pointerevent_common_input.js
|
| diff --git a/third_party/WebKit/LayoutTests/external/wpt_automation/pointerevents/pointerevent_common_input.js b/third_party/WebKit/LayoutTests/external/wpt_automation/pointerevents/pointerevent_common_input.js
|
| index c6a3c59535b8e7b83b68ef01a90a1cd46e7e97ac..50e9b527b246bf02bcf049d04ca94b05c616f1b6 100644
|
| --- a/third_party/WebKit/LayoutTests/external/wpt_automation/pointerevents/pointerevent_common_input.js
|
| +++ b/third_party/WebKit/LayoutTests/external/wpt_automation/pointerevents/pointerevent_common_input.js
|
| @@ -20,9 +20,13 @@ function scrollPageIfNeeded(targetSelector, targetDocument) {
|
| // Mouse inputs.
|
| function mouseMoveToDocument() {
|
| return new Promise(function(resolve, reject) {
|
| - if (window.eventSender) {
|
| - eventSender.mouseMoveTo(0, 0);
|
| - resolve();
|
| + if (window.chrome && chrome.gpuBenchmarking) {
|
| + chrome.gpuBenchmarking.pointerActionSequence(
|
| + [{
|
| + 'source': 'mouse',
|
| + 'actions': [{'name': 'pointerMove', 'x': 0, 'y': 0}]
|
| + }],
|
| + resolve);
|
| } else {
|
| reject();
|
| }
|
| @@ -40,64 +44,117 @@ function mouseMoveIntoTarget(targetSelector, targetFrame) {
|
| frameTop = frameRect.top;
|
| }
|
| return new Promise(function(resolve, reject) {
|
| - if (window.eventSender) {
|
| + if (window.chrome && chrome.gpuBenchmarking) {
|
| scrollPageIfNeeded(targetSelector, targetDocument);
|
| var target = targetDocument.querySelector(targetSelector);
|
| var targetRect = target.getBoundingClientRect();
|
| - eventSender.mouseMoveTo(frameLeft + targetRect.left + boundaryOffset, frameTop + targetRect.top + boundaryOffset);
|
| - resolve();
|
| + var xPosition = frameLeft + targetRect.left + boundaryOffset;
|
| + var yPosition = frameTop + targetRect.top + boundaryOffset;
|
| + chrome.gpuBenchmarking.pointerActionSequence(
|
| + [{
|
| + 'source': 'mouse',
|
| + 'actions':
|
| + [{'name': 'pointerMove', 'x': xPosition, 'y': yPosition}]
|
| + }],
|
| + resolve);
|
| } else {
|
| reject();
|
| }
|
| });
|
| }
|
|
|
| -function mouseButtonPress(button) {
|
| +function mouseChordedButtonPress(targetSelector) {
|
| return new Promise(function(resolve, reject) {
|
| - if (window.eventSender) {
|
| - eventSender.mouseDown(button);
|
| - resolve();
|
| - } else {
|
| + if (window.chrome && chrome.gpuBenchmarking) {
|
| + scrollPageIfNeeded(targetSelector, document);
|
| + var target = document.querySelector(targetSelector);
|
| + var targetRect = target.getBoundingClientRect();
|
| + var xPosition = targetRect.left + boundaryOffset;
|
| + var yPosition = targetRect.top + boundaryOffset;
|
| + chrome.gpuBenchmarking.pointerActionSequence(
|
| + [{
|
| + 'source': 'mouse',
|
| + 'actions': [
|
| + {
|
| + 'name': 'pointerDown',
|
| + 'x': xPosition,
|
| + 'y': yPosition,
|
| + 'button': 'left'
|
| + },
|
| + {
|
| + 'name': 'pointerDown',
|
| + 'x': xPosition,
|
| + 'y': yPosition,
|
| + 'button': 'middle'
|
| + },
|
| + {'name': 'pointerUp', 'button': 'middle'},
|
| + {'name': 'pointerUp', 'button': 'left'}
|
| + ]
|
| + }],
|
| + resolve);
|
| + } else {
|
| reject();
|
| }
|
| });
|
| }
|
|
|
| -function mouseButtonRelease(button) {
|
| +function mouseClickInTarget(targetSelector, targetFrame) {
|
| + var targetDocument = document;
|
| + var frameLeft = 0;
|
| + var frameTop = 0;
|
| + if (targetFrame !== undefined) {
|
| + targetDocument = targetFrame.contentDocument;
|
| + var frameRect = targetFrame.getBoundingClientRect();
|
| + frameLeft = frameRect.left;
|
| + frameTop = frameRect.top;
|
| + }
|
| return new Promise(function(resolve, reject) {
|
| - if (window.eventSender) {
|
| - eventSender.mouseUp(button);
|
| - resolve();
|
| - } else {
|
| + if (window.chrome && chrome.gpuBenchmarking) {
|
| + scrollPageIfNeeded(targetSelector, targetDocument);
|
| + var target = targetDocument.querySelector(targetSelector);
|
| + var targetRect = target.getBoundingClientRect();
|
| + var xPosition = frameLeft + targetRect.left + boundaryOffset;
|
| + var yPosition = frameTop + targetRect.top + boundaryOffset;
|
| + chrome.gpuBenchmarking.pointerActionSequence(
|
| + [{
|
| + 'source': 'mouse',
|
| + 'actions': [
|
| + {'name': 'pointerMove', 'x': xPosition, 'y': yPosition},
|
| + {'name': 'pointerDown', 'x': xPosition, 'y': yPosition},
|
| + {'name': 'pointerUp'}
|
| + ]
|
| + }],
|
| + resolve);
|
| + } else {
|
| reject();
|
| }
|
| });
|
| }
|
|
|
| -function mouseClickInTarget(targetSelector, targetFrame) {
|
| - return mouseMoveIntoTarget(targetSelector, targetFrame).then(function() {
|
| - return new Promise(function(resolve, reject) {
|
| - if (window.eventSender) {
|
| - eventSender.mouseDown(0);
|
| - eventSender.mouseUp(0);
|
| - resolve();
|
| - } else {
|
| - reject();
|
| - }
|
| - });
|
| - });
|
| -}
|
| -
|
| function mouseDragInTargets(targetSelectorList) {
|
| return new Promise(function(resolve, reject) {
|
| - if (window.eventSender) {
|
| - mouseMoveIntoTarget(targetSelectorList[0]).then(function() {
|
| - eventSender.mouseDown(0);
|
| - for (var i=1; i<targetSelectorList.length; i++)
|
| - mouseMoveIntoTarget(targetSelectorList[i]);
|
| - eventSender.mouseUp(0);
|
| - resolve();
|
| - });
|
| + if (window.chrome && chrome.gpuBenchmarking) {
|
| + scrollPageIfNeeded(targetSelectorList[0], document);
|
| + var target = document.querySelector(targetSelectorList[0]);
|
| + var targetRect = target.getBoundingClientRect();
|
| + var xPosition = targetRect.left + boundaryOffset;
|
| + var yPosition = targetRect.top + boundaryOffset;
|
| + var pointerActions = [{'source': 'mouse'}];
|
| + var pointerAction = pointerActions[0];
|
| + pointerAction.actions = [];
|
| + pointerAction.actions.push(
|
| + {'name': 'pointerDown', 'x': xPosition, 'y': yPosition});
|
| + for (var i = 1; i < targetSelectorList.length; i++) {
|
| + scrollPageIfNeeded(targetSelectorList[i], document);
|
| + target = document.querySelector(targetSelectorList[i]);
|
| + targetRect = target.getBoundingClientRect();
|
| + xPosition = targetRect.left + boundaryOffset;
|
| + yPosition = targetRect.top + boundaryOffset;
|
| + pointerAction.actions.push(
|
| + {'name': 'pointerMove', 'x': xPosition, 'y': yPosition});
|
| + }
|
| + pointerAction.actions.push({'name': 'pointerUp'});
|
| + chrome.gpuBenchmarking.pointerActionSequence(pointerActions, resolve);
|
| } else {
|
| reject();
|
| }
|
| @@ -108,9 +165,16 @@ function mouseDragInTarget(targetSelector) {
|
| return mouseDragInTargets([targetSelector, targetSelector]);
|
| }
|
|
|
| -function mouseWheelScroll(direction) {
|
| +function mouseWheelScroll(targetSelector, direction) {
|
| return new Promise(function(resolve, reject) {
|
| if (window.eventSender) {
|
| + scrollPageIfNeeded(targetSelector, document);
|
| + var target = document.querySelector(targetSelector);
|
| + var targetRect = target.getBoundingClientRect();
|
| + eventSender.mouseMoveTo(
|
| + targetRect.left + boundaryOffset, targetRect.top + boundaryOffset);
|
| + eventSender.mouseDown(0);
|
| + eventSender.mouseUp(0);
|
| if (direction == 'down')
|
| eventSender.continuousMouseScrollBy(-scrollOffset, 0);
|
| else if (direction == 'right')
|
| @@ -198,14 +262,30 @@ function pinchZoomInTarget(targetSelector, scale) {
|
| var xPosition = targetRect.left + (targetRect.width/2);
|
| var yPosition1 = targetRect.top + (targetRect.height/2) - 10;
|
| var yPosition2 = targetRect.top + (targetRect.height/2) + 10;
|
| - var text = '[{"source": "touch", "actions": [{ "name": "pointerDown", "x":' + xPosition +', "y":' + yPosition1 +' },';
|
| - for (var offset=10; offset<80; offset+=10)
|
| - text += '{ "name": "pointerMove", "x":' + xPosition +', "y":' + (yPosition1 - offset) +' },';
|
| - text += '{ "name": "pointerUp" }]}, {"source": "touch", "actions": [{ "name": "pointerDown", "x":' + xPosition +', "y":' + yPosition2 +' },';
|
| - for (var offset=10; offset<80; offset+=10)
|
| - text += '{ "name": "pointerMove", "x":' + xPosition +', "y":' + (yPosition2 + offset) +' },';
|
| - text += '{ "name": "pointerUp" }]}]';
|
| - chrome.gpuBenchmarking.pointerActionSequence(JSON.parse(text), resolve);
|
| + var pointerActions = [{'source': 'touch'}, {'source': 'touch'}];
|
| + var pointerAction1 = pointerActions[0];
|
| + var pointerAction2 = pointerActions[1];
|
| + pointerAction1.actions = [];
|
| + pointerAction2.actions = [];
|
| + pointerAction1.actions.push(
|
| + {'name': 'pointerDown', 'x': xPosition, 'y': yPosition1});
|
| + pointerAction2.actions.push(
|
| + {'name': 'pointerDown', 'x': xPosition, 'y': yPosition2});
|
| + for (var offset = 10; offset < 80; offset += 10) {
|
| + pointerAction1.actions.push({
|
| + 'name': 'pointerMove',
|
| + 'x': xPosition,
|
| + 'y': (yPosition1 - offset)
|
| + });
|
| + pointerAction2.actions.push({
|
| + 'name': 'pointerMove',
|
| + 'x': xPosition,
|
| + 'y': (yPosition2 + offset)
|
| + });
|
| + }
|
| + pointerAction1.actions.push({'name': 'pointerUp'});
|
| + pointerAction2.actions.push({'name': 'pointerUp'});
|
| + chrome.gpuBenchmarking.pointerActionSequence(pointerActions, resolve);
|
| } else {
|
| reject();
|
| }
|
|
|