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

Unified Diff: third_party/WebKit/LayoutTests/external/wpt_automation/pointerevents/pointerevent_common_input.js

Issue 2621353003: Replace mouse actions in pointer event tests with pointerActionSequence (Closed)
Patch Set: pointer mouse event 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 side-by-side diff with in-line comments
Download patch
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();
}

Powered by Google App Engine
This is Rietveld 408576698