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

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

Issue 2300623004: Make tests wait until automation is done to prevent leaks (Closed)
Patch Set: Fix test expectation Created 4 years, 3 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/imported/wpt_automation/pointerevents/pointerevent_common_input.js
diff --git a/third_party/WebKit/LayoutTests/imported/wpt_automation/pointerevents/pointerevent_common_input.js b/third_party/WebKit/LayoutTests/imported/wpt_automation/pointerevents/pointerevent_common_input.js
index bcad05ce7c397cdfd26171cdf9b7d4f26c70ba43..9a1185c88c6fc2caadb059f0e0f4694e23bb9198 100644
--- a/third_party/WebKit/LayoutTests/imported/wpt_automation/pointerevents/pointerevent_common_input.js
+++ b/third_party/WebKit/LayoutTests/imported/wpt_automation/pointerevents/pointerevent_common_input.js
@@ -1,64 +1,85 @@
// This file contains the commonly used functions in pointerevent tests.
-// Mouse actions
+const scrollOffset = 30;
+const boundaryOffset = 5;
+const touchSourceType = 1;
+
+// Mouse inputs.
function mouseMoveToDocument() {
- if (window.eventSender)
- eventSender.mouseMoveTo(0, 0);
+ return new Promise(function(resolve, reject) {
+ if (window.eventSender) {
+ eventSender.mouseMoveTo(0, 0);
+ resolve();
+ } else {
+ reject();
+ }
+ });
}
function mouseMoveIntoTarget(targetId) {
- if (window.eventSender) {
- var target = document.getElementById(targetId);
- var targetRect = target.getBoundingClientRect();
- eventSender.mouseMoveTo(targetRect.left+5, targetRect.top+5);
- }
+ return new Promise(function(resolve, reject) {
+ if (window.eventSender) {
+ var target = document.getElementById(targetId);
+ var targetRect = target.getBoundingClientRect();
+ eventSender.mouseMoveTo(targetRect.left+boundaryOffset, targetRect.top+boundaryOffset);
+ resolve();
+ } else {
+ reject();
+ }
+ });
}
function mouseClickInTarget(targetId) {
- if (window.eventSender) {
- mouseMoveIntoTarget(targetId);
- eventSender.mouseDown(0);
- eventSender.mouseUp(0);
- }
+ return mouseMoveIntoTarget(targetId).then(function() {
+ return new Promise(function(resolve, reject) {
+ if (window.eventSender) {
+ eventSender.mouseDown(0);
+ eventSender.mouseUp(0);
+ resolve();
+ } else {
+ reject();
+ }
+ });
+ });
}
function mouseDragInTargets(targetIdList) {
- if (window.eventSender) {
- var target = document.getElementById(targetIdList[0]);
- mouseMoveIntoTarget(targetIdList[0]);
- eventSender.mouseDown(0);
- for (var i=1; i<targetIdList.length; i++)
- mouseMoveIntoTarget(targetIdList[i]);
- eventSender.mouseUp(0);
- }
+ return new Promise(function(resolve, reject) {
+ if (window.eventSender) {
+ mouseMoveIntoTarget(targetIdList[0]).then(function() {
+ eventSender.mouseDown(0);
+ for (var i=1; i<targetIdList.length; i++)
+ mouseMoveIntoTarget(targetIdList[i]);
+ eventSender.mouseUp(0);
+ resolve();
+ });
+ } else {
+ reject();
+ }
+ });
}
function mouseDragInTarget(targetId) {
- if (window.eventSender) {
- var target = document.getElementById(targetId);
- mouseMoveIntoTarget(targetId);
- eventSender.mouseDown(0);
- mouseMoveIntoTarget(targetId);
- eventSender.mouseUp(0);
- }
+ return mouseDragInTargets([targetId, targetId]);
}
-function mouseScrollUp() {
- if (window.eventSender)
- eventSender.continuousMouseScrollBy(-50, 0);
-
-}
-
-function mouseScrollLeft() {
- if (window.eventSender)
- eventSender.continuousMouseScrollBy(0, -50);
+function mouseWheelScroll(direction) {
+ return new Promise(function(resolve, reject) {
+ if (window.eventSender) {
+ if (direction == 'down')
+ eventSender.continuousMouseScrollBy(-scrollOffset, 0);
+ else if (direction == 'right')
+ eventSender.continuousMouseScrollBy(0, -scrollOffset);
+ else
+ reject();
+ resolve();
+ } else {
+ reject();
+ }
+ });
}
-// Touch actions
-const scrollOffset = 30;
-const boundaryOffset = 5;
-const touchSourceType = 1;
-
+// Touch inputs.
function touchTapInTarget(targetId) {
return new Promise(function(resolve, reject) {
if (window.chrome && chrome.gpuBenchmarking) {
@@ -145,28 +166,66 @@ function touchScrollByPosition(x, y, offset, direction, callback_func) {
}
}
-// Pen actions
-function penMoveIntoTarget(target) {
- var targetRect = target.getBoundingClientRect();
- eventSender.mouseMoveTo(targetRect.left+5, targetRect.top+5, [], "pen", 0);
+// Pen inputs.
+function penMoveToDocument() {
+ return new Promise(function(resolve, reject) {
+ if (window.eventSender) {
+ eventSender.mouseMoveTo(0, 0, [], "pen", 0);
+ resolve();
+ } else {
+ reject();
+ }
+ });
}
-function penClickIntoTarget(target) {
- penMoveIntoTarget(target);
- eventSender.mouseDown(0, [], "pen", 0);
- eventSender.mouseUp(0, [], "pen", 0);
+function penMoveIntoTarget(targetId) {
+ return new Promise(function(resolve, reject) {
+ if (window.eventSender) {
+ var target = document.getElementById(targetId);
+ var targetRect = target.getBoundingClientRect();
+ eventSender.mouseMoveTo(targetRect.left+boundaryOffset, targetRect.top+boundaryOffset, [], "pen", 0);
+ resolve();
+ } else {
+ reject();
+ }
+ });
}
-// Keyboard actions
-function keyboardScrollUp() {
- if (window.eventSender)
- eventSender.keyDown('ArrowDown');
+function penClickIntoTarget(targetId) {
+ return penMoveIntoTarget(targetId).then(function() {
+ return new Promise(function(resolve, reject) {
+ if (window.eventSender) {
+ eventSender.mouseDown(0, [], "pen", 0);
+ eventSender.mouseUp(0, [], "pen", 0);
+ resolve();
+ } else {
+ reject();
+ }
+ });
+ });
}
-function keyboardScrollLeft() {
- if (window.eventSender)
- eventSender.keyDown('ArrowRight');
+// Keyboard inputs.
+function keyboardScroll(direction) {
+ return new Promise(function(resolve, reject) {
+ if (window.eventSender) {
+ if (direction == 'down')
+ eventSender.keyDown('ArrowDown');
+ else if (direction == 'right')
+ eventSender.keyDown('ArrowRight');
+ else
+ reject();
+ resolve();
+ } else {
+ reject();
+ }
+ });
}
-// Defined in every test
-inject_input();
+{
+ var pointerevent_automation = async_test("PointerEvent Automation");
+ // Defined in every test and should return a promise that gets resolved when input is finished.
+ inject_input().then(function() {
+ pointerevent_automation.done();
+ });
+}

Powered by Google App Engine
This is Rietveld 408576698