Use testdriver Action API in WPT pointerevent touch tests
In order to run the web-platform-tests automatically, we will use
testdriver Action API in all the wpt to simulate inputs. Here we are
changing some pointerevent touch input tests which are doing scrolling.
Bug: 606367
Change-Id: Ibdabcbb973ac641174ca6faadccd737fa8c678b4
Reviewed-on: https://chromium-review.googlesource.com/c/1461504
Reviewed-by: Navid Zolghadr <nzolghadr@chromium.org>
Commit-Queue: Lan Wei <lanwei@chromium.org>
Cr-Commit-Position: refs/heads/master@{#632251}
diff --git a/third_party/blink/web_tests/external/wpt/pointerevents/pointerevent_change-touch-action-onpointerdown_touch-manual.html b/third_party/blink/web_tests/external/wpt/pointerevents/pointerevent_change-touch-action-onpointerdown_touch.html
similarity index 95%
rename from third_party/blink/web_tests/external/wpt/pointerevents/pointerevent_change-touch-action-onpointerdown_touch-manual.html
rename to third_party/blink/web_tests/external/wpt/pointerevents/pointerevent_change-touch-action-onpointerdown_touch.html
index 04d56cb7a..72f1e6d3 100644
--- a/third_party/blink/web_tests/external/wpt/pointerevents/pointerevent_change-touch-action-onpointerdown_touch-manual.html
+++ b/third_party/blink/web_tests/external/wpt/pointerevents/pointerevent_change-touch-action-onpointerdown_touch.html
@@ -6,6 +6,9 @@
<link rel="stylesheet" type="text/css" href="pointerevent_styles.css">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
+ <script src="/resources/testdriver.js"></script>
+ <script src="/resources/testdriver-actions.js"></script>
+ <script src="/resources/testdriver-vendor.js"></script>
<script src="pointerevent_support.js"></script>
<style>
#target0 {
@@ -124,6 +127,9 @@
on_event(target0, 'pointerup', function(event) {
firstTouchCompleted = true;
});
+
+ // Inject touch inputs.
+ touchScrollInTarget(target0, 'down');
}
</script>
<h1>touch-action: auto to none</h1>
diff --git a/third_party/blink/web_tests/external/wpt/pointerevents/pointerevent_pointercancel_touch-manual.html b/third_party/blink/web_tests/external/wpt/pointerevents/pointerevent_pointercancel_touch.html
similarity index 93%
rename from third_party/blink/web_tests/external/wpt/pointerevents/pointerevent_pointercancel_touch-manual.html
rename to third_party/blink/web_tests/external/wpt/pointerevents/pointerevent_pointercancel_touch.html
index 70a65ee..b41c501 100644
--- a/third_party/blink/web_tests/external/wpt/pointerevents/pointerevent_pointercancel_touch-manual.html
+++ b/third_party/blink/web_tests/external/wpt/pointerevents/pointerevent_pointercancel_touch.html
@@ -5,6 +5,9 @@
<meta name="viewport" content="width=device-width">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
+ <script src="/resources/testdriver.js"></script>
+ <script src="/resources/testdriver-actions.js"></script>
+ <script src="/resources/testdriver-vendor.js"></script>
<link rel="stylesheet" type="text/css" href="pointerevent_styles.css">
<!-- Additional helper script for common checks across event types -->
<script type="text/javascript" src="pointerevent_support.js"></script>
@@ -66,6 +69,9 @@
});
test_pointerEvent.done();
});
+
+ // Inject touch inputs.
+ touchScrollInTarget(target0, 'down');
}
</script>
<h1>Pointer Events pointercancel Tests</h1>
diff --git a/third_party/blink/web_tests/external/wpt/pointerevents/pointerevent_pointerleave_after_pointercancel_touch-manual.html b/third_party/blink/web_tests/external/wpt/pointerevents/pointerevent_pointerleave_after_pointercancel_touch.html
similarity index 91%
rename from third_party/blink/web_tests/external/wpt/pointerevents/pointerevent_pointerleave_after_pointercancel_touch-manual.html
rename to third_party/blink/web_tests/external/wpt/pointerevents/pointerevent_pointerleave_after_pointercancel_touch.html
index 56be265..73806f5 100644
--- a/third_party/blink/web_tests/external/wpt/pointerevents/pointerevent_pointerleave_after_pointercancel_touch-manual.html
+++ b/third_party/blink/web_tests/external/wpt/pointerevents/pointerevent_pointerleave_after_pointercancel_touch.html
@@ -6,6 +6,9 @@
<link rel="stylesheet" type="text/css" href="pointerevent_styles.css">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
+ <script src="/resources/testdriver.js"></script>
+ <script src="/resources/testdriver-actions.js"></script>
+ <script src="/resources/testdriver-vendor.js"></script>
<!-- Additional helper script for common checks across event types -->
<script type="text/javascript" src="pointerevent_support.js"></script>
</head>
@@ -54,6 +57,9 @@
}
}
});
+
+ // Inject touch inputs.
+ touchScrollInTarget(target0, 'down');
}
</script>
diff --git a/third_party/blink/web_tests/external/wpt/pointerevents/pointerevent_pointerout_after_pointercancel_touch-manual.html b/third_party/blink/web_tests/external/wpt/pointerevents/pointerevent_pointerout_after_pointercancel_touch.html
similarity index 91%
rename from third_party/blink/web_tests/external/wpt/pointerevents/pointerevent_pointerout_after_pointercancel_touch-manual.html
rename to third_party/blink/web_tests/external/wpt/pointerevents/pointerevent_pointerout_after_pointercancel_touch.html
index 1888591..67559cb 100644
--- a/third_party/blink/web_tests/external/wpt/pointerevents/pointerevent_pointerout_after_pointercancel_touch-manual.html
+++ b/third_party/blink/web_tests/external/wpt/pointerevents/pointerevent_pointerout_after_pointercancel_touch.html
@@ -6,6 +6,9 @@
<link rel="stylesheet" type="text/css" href="pointerevent_styles.css">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
+ <script src="/resources/testdriver.js"></script>
+ <script src="/resources/testdriver-actions.js"></script>
+ <script src="/resources/testdriver-vendor.js"></script>
<!-- Additional helper script for common checks across event types -->
<script type="text/javascript" src="pointerevent_support.js"></script>
</head>
@@ -55,6 +58,9 @@
}
}
});
+
+ // Inject touch inputs.
+ touchScrollInTarget(target0, 'down');
}
</script>
diff --git a/third_party/blink/web_tests/external/wpt/pointerevents/pointerevent_releasepointercapture_onpointercancel_touch-manual.html b/third_party/blink/web_tests/external/wpt/pointerevents/pointerevent_releasepointercapture_onpointercancel_touch.html
similarity index 92%
rename from third_party/blink/web_tests/external/wpt/pointerevents/pointerevent_releasepointercapture_onpointercancel_touch-manual.html
rename to third_party/blink/web_tests/external/wpt/pointerevents/pointerevent_releasepointercapture_onpointercancel_touch.html
index 49784004..8133dadc 100644
--- a/third_party/blink/web_tests/external/wpt/pointerevents/pointerevent_releasepointercapture_onpointercancel_touch-manual.html
+++ b/third_party/blink/web_tests/external/wpt/pointerevents/pointerevent_releasepointercapture_onpointercancel_touch.html
@@ -6,6 +6,9 @@
<link rel="stylesheet" type="text/css" href="pointerevent_styles.css">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
+ <script src="/resources/testdriver.js"></script>
+ <script src="/resources/testdriver-actions.js"></script>
+ <script src="/resources/testdriver-vendor.js"></script>
<script src="pointerevent_support.js"></script>
</head>
<body class="scrollable">
@@ -64,6 +67,9 @@
event_log.push('pointercancel@target0');
pointercancelGot = true;
});
+
+ // Inject touch inputs.
+ touchScrollInTarget(target0, 'down');
}
</script>
<h1>Pointer Events Capture Test</h1>
diff --git a/third_party/blink/web_tests/external/wpt/pointerevents/pointerevent_support.js b/third_party/blink/web_tests/external/wpt/pointerevents/pointerevent_support.js
index 5c35e016..0d5b6b040 100644
--- a/third_party/blink/web_tests/external/wpt/pointerevents/pointerevent_support.js
+++ b/third_party/blink/web_tests/external/wpt/pointerevents/pointerevent_support.js
@@ -252,3 +252,35 @@
function checkPointerEventType(event) {
assert_equals(event.pointerType, expectedPointerType, "pointerType should be the same as the requested device.");
}
+
+function touchScrollInTarget(target, direction) {
+ var x_delta = 0;
+ var y_delta = 0;
+ if (direction == "down") {
+ x_delta = 0;
+ y_delta = -10;
+ } else if (direction == "up") {
+ x_delta = 0;
+ y_delta = 10;
+ } else if (direction == "right") {
+ x_delta = -10;
+ y_delta = 0;
+ } else if (direction == "left") {
+ x_delta = 10;
+ y_delta = 0;
+ } else {
+ throw("scroll direction '" + direction + "' is not expected, direction should be 'down', 'up', 'left' or 'right'");
+ }
+ return new test_driver.Actions()
+ .addPointer("pointer1", "touch")
+ .pointerMove(0, 0, {origin: target})
+ .pointerDown()
+ .pointerMove(x_delta, y_delta, {origin: target})
+ .pointerMove(2 * x_delta, 2 * y_delta, {origin: target})
+ .pointerMove(3 * x_delta, 3 * y_delta, {origin: target})
+ .pointerMove(4 * x_delta, 4 * y_delta, {origin: target})
+ .pointerMove(5 * x_delta, 5 * y_delta, {origin: target})
+ .pointerMove(6 * x_delta, 6 * y_delta, {origin: target})
+ .pointerUp()
+ .send();
+}
diff --git a/third_party/blink/web_tests/external/wpt/pointerevents/pointerevent_touch-action-auto-css_touch-manual.html b/third_party/blink/web_tests/external/wpt/pointerevents/pointerevent_touch-action-auto-css_touch.html
similarity index 93%
rename from third_party/blink/web_tests/external/wpt/pointerevents/pointerevent_touch-action-auto-css_touch-manual.html
rename to third_party/blink/web_tests/external/wpt/pointerevents/pointerevent_touch-action-auto-css_touch.html
index f5e9d12..ccacde4 100644
--- a/third_party/blink/web_tests/external/wpt/pointerevents/pointerevent_touch-action-auto-css_touch-manual.html
+++ b/third_party/blink/web_tests/external/wpt/pointerevents/pointerevent_touch-action-auto-css_touch.html
@@ -6,6 +6,9 @@
<link rel="stylesheet" type="text/css" href="pointerevent_styles.css">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
+ <script src="/resources/testdriver.js"></script>
+ <script src="/resources/testdriver-actions.js"></script>
+ <script src="/resources/testdriver-vendor.js"></script>
<script src="pointerevent_support.js"></script>
<style>
#target0 {
@@ -118,6 +121,10 @@
updateDescriptionComplete();
}
});
+
+ // Inject touch inputs.
+ touchScrollInTarget(target0, 'down').then(function() {
+ return touchScrollInTarget(target0, 'right'); });
}
</script>
<h1>touch-action: auto</h1>
diff --git a/third_party/blink/web_tests/external/wpt/pointerevents/pointerevent_touch-action-inherit_highest-parent-none_touch-manual.html b/third_party/blink/web_tests/external/wpt/pointerevents/pointerevent_touch-action-inherit_highest-parent-none_touch.html
similarity index 93%
rename from third_party/blink/web_tests/external/wpt/pointerevents/pointerevent_touch-action-inherit_highest-parent-none_touch-manual.html
rename to third_party/blink/web_tests/external/wpt/pointerevents/pointerevent_touch-action-inherit_highest-parent-none_touch.html
index d87d2b3..d09e6c5 100644
--- a/third_party/blink/web_tests/external/wpt/pointerevents/pointerevent_touch-action-inherit_highest-parent-none_touch-manual.html
+++ b/third_party/blink/web_tests/external/wpt/pointerevents/pointerevent_touch-action-inherit_highest-parent-none_touch.html
@@ -6,6 +6,9 @@
<link rel="stylesheet" type="text/css" href="pointerevent_styles.css">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
+ <script src="/resources/testdriver.js"></script>
+ <script src="/resources/testdriver-actions.js"></script>
+ <script src="/resources/testdriver-vendor.js"></script>
<script src="pointerevent_support.js"></script>
<style>
#divParent {
@@ -118,6 +121,10 @@
updateDescriptionComplete();
}
});
+
+ // Inject touch inputs.
+ touchScrollInTarget(scrollTarget, 'down').then(function() {
+ return touchScrollInTarget(scrollTarget, 'right'); });
}
function enableScrolling() {
diff --git a/third_party/blink/web_tests/external/wpt/pointerevents/pointerevent_touch-action-pan-x-pan-y_touch-manual.html b/third_party/blink/web_tests/external/wpt/pointerevents/pointerevent_touch-action-pan-x-pan-y_touch.html
similarity index 93%
rename from third_party/blink/web_tests/external/wpt/pointerevents/pointerevent_touch-action-pan-x-pan-y_touch-manual.html
rename to third_party/blink/web_tests/external/wpt/pointerevents/pointerevent_touch-action-pan-x-pan-y_touch.html
index 0c900ff..d5d49453 100644
--- a/third_party/blink/web_tests/external/wpt/pointerevents/pointerevent_touch-action-pan-x-pan-y_touch-manual.html
+++ b/third_party/blink/web_tests/external/wpt/pointerevents/pointerevent_touch-action-pan-x-pan-y_touch.html
@@ -6,6 +6,9 @@
<link rel="stylesheet" type="text/css" href="pointerevent_styles.css">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
+ <script src="/resources/testdriver.js"></script>
+ <script src="/resources/testdriver-actions.js"></script>
+ <script src="/resources/testdriver-vendor.js"></script>
<script src="pointerevent_support.js"></script>
<style>
#target0 {
@@ -115,6 +118,10 @@
updateDescriptionComplete();
}
});
+
+ // Inject touch inputs.
+ touchScrollInTarget(target0, 'down').then(function() {
+ return touchScrollInTarget(target0, 'right'); });
}
</script>
<h1>touch-action: pan-x pan-y</h1>
diff --git a/third_party/blink/web_tests/external/wpt_automation/pointerevents/pointerevent_change-touch-action-onpointerdown_touch-manual-automation.js b/third_party/blink/web_tests/external/wpt_automation/pointerevents/pointerevent_change-touch-action-onpointerdown_touch-manual-automation.js
deleted file mode 100644
index fe24736..0000000
--- a/third_party/blink/web_tests/external/wpt_automation/pointerevents/pointerevent_change-touch-action-onpointerdown_touch-manual-automation.js
+++ /dev/null
@@ -1,6 +0,0 @@
-importAutomationScript('/pointerevents/pointerevent_common_input.js');
-
-function inject_input() {
- return touchScrollInTarget('#target0', 'down');
-}
-
diff --git a/third_party/blink/web_tests/external/wpt_automation/pointerevents/pointerevent_pointercancel_touch-manual-automation.js b/third_party/blink/web_tests/external/wpt_automation/pointerevents/pointerevent_pointercancel_touch-manual-automation.js
deleted file mode 100644
index c46cb0a..0000000
--- a/third_party/blink/web_tests/external/wpt_automation/pointerevents/pointerevent_pointercancel_touch-manual-automation.js
+++ /dev/null
@@ -1,7 +0,0 @@
-importAutomationScript('/pointerevents/pointerevent_common_input.js');
-
-function inject_input() {
- return touchScrollInTarget('#target0', 'down');
-}
-
-
diff --git a/third_party/blink/web_tests/external/wpt_automation/pointerevents/pointerevent_pointerleave_after_pointercancel_touch-manual-automation.js b/third_party/blink/web_tests/external/wpt_automation/pointerevents/pointerevent_pointerleave_after_pointercancel_touch-manual-automation.js
deleted file mode 100644
index c46cb0a..0000000
--- a/third_party/blink/web_tests/external/wpt_automation/pointerevents/pointerevent_pointerleave_after_pointercancel_touch-manual-automation.js
+++ /dev/null
@@ -1,7 +0,0 @@
-importAutomationScript('/pointerevents/pointerevent_common_input.js');
-
-function inject_input() {
- return touchScrollInTarget('#target0', 'down');
-}
-
-
diff --git a/third_party/blink/web_tests/external/wpt_automation/pointerevents/pointerevent_pointerout_after_pointercancel_touch-manual-automation.js b/third_party/blink/web_tests/external/wpt_automation/pointerevents/pointerevent_pointerout_after_pointercancel_touch-manual-automation.js
deleted file mode 100644
index fe24736..0000000
--- a/third_party/blink/web_tests/external/wpt_automation/pointerevents/pointerevent_pointerout_after_pointercancel_touch-manual-automation.js
+++ /dev/null
@@ -1,6 +0,0 @@
-importAutomationScript('/pointerevents/pointerevent_common_input.js');
-
-function inject_input() {
- return touchScrollInTarget('#target0', 'down');
-}
-
diff --git a/third_party/blink/web_tests/external/wpt_automation/pointerevents/pointerevent_releasepointercapture_onpointercancel_touch-manual-automation.js b/third_party/blink/web_tests/external/wpt_automation/pointerevents/pointerevent_releasepointercapture_onpointercancel_touch-manual-automation.js
deleted file mode 100644
index fe24736..0000000
--- a/third_party/blink/web_tests/external/wpt_automation/pointerevents/pointerevent_releasepointercapture_onpointercancel_touch-manual-automation.js
+++ /dev/null
@@ -1,6 +0,0 @@
-importAutomationScript('/pointerevents/pointerevent_common_input.js');
-
-function inject_input() {
- return touchScrollInTarget('#target0', 'down');
-}
-
diff --git a/third_party/blink/web_tests/external/wpt_automation/pointerevents/pointerevent_touch-action-auto-css_touch-manual-automation.js b/third_party/blink/web_tests/external/wpt_automation/pointerevents/pointerevent_touch-action-auto-css_touch-manual-automation.js
deleted file mode 100644
index f3e2b84a..0000000
--- a/third_party/blink/web_tests/external/wpt_automation/pointerevents/pointerevent_touch-action-auto-css_touch-manual-automation.js
+++ /dev/null
@@ -1,8 +0,0 @@
-importAutomationScript('/pointerevents/pointerevent_common_input.js');
-
-function inject_input() {
- return touchScrollInTarget('#target0', 'down').then(function() {
- return touchScrollInTarget('#target0', 'right');
- });
-}
-
diff --git a/third_party/blink/web_tests/external/wpt_automation/pointerevents/pointerevent_touch-action-inherit_highest-parent-none_touch-manual-automation.js b/third_party/blink/web_tests/external/wpt_automation/pointerevents/pointerevent_touch-action-inherit_highest-parent-none_touch-manual-automation.js
deleted file mode 100644
index 1c006c4..0000000
--- a/third_party/blink/web_tests/external/wpt_automation/pointerevents/pointerevent_touch-action-inherit_highest-parent-none_touch-manual-automation.js
+++ /dev/null
@@ -1,7 +0,0 @@
-importAutomationScript('/pointerevents/pointerevent_common_input.js');
-
-function inject_input() {
- return touchScrollInTarget('#scrollTarget', 'down').then(function() {
- return touchScrollInTarget('#scrollTarget', 'right');
- });
-}
diff --git a/third_party/blink/web_tests/external/wpt_automation/pointerevents/pointerevent_touch-action-pan-x-pan-y_touch-manual-automation.js b/third_party/blink/web_tests/external/wpt_automation/pointerevents/pointerevent_touch-action-pan-x-pan-y_touch-manual-automation.js
deleted file mode 100644
index 4a2a9a4..0000000
--- a/third_party/blink/web_tests/external/wpt_automation/pointerevents/pointerevent_touch-action-pan-x-pan-y_touch-manual-automation.js
+++ /dev/null
@@ -1,7 +0,0 @@
-importAutomationScript('/pointerevents/pointerevent_common_input.js');
-
-function inject_input() {
- return touchScrollInTarget('#target0', 'down').then(function() {
- return touchScrollInTarget('#target0', 'right');
- });
-}
diff --git a/third_party/blink/web_tests/resources/testdriver-vendor.js b/third_party/blink/web_tests/resources/testdriver-vendor.js
index a806a721..7a7dc03 100644
--- a/third_party/blink/web_tests/resources/testdriver-vendor.js
+++ b/third_party/blink/web_tests/resources/testdriver-vendor.js
@@ -84,6 +84,7 @@
for (let i = 0; i < actions.length; i++) {
var last_x_position = 0;
var last_y_position = 0;
+ var first_pointer_down = false;
for (let j = 0; j < actions[i].actions.length; j++) {
if ('origin' in actions[i].actions[j]) {
if (actions[i].actions[j].origin == "viewport") {
@@ -126,6 +127,16 @@
actions[i].actions[j].x = last_x_position;
actions[i].actions[j].y = last_y_position;
}
+
+ if ('parameters' in actions[i] && actions[i].parameters.pointerType == "touch") {
+ if (actions[i].actions[j].type == "pointerMove" && !first_pointer_down) {
+ actions[i].actions.splice(j--, 1);
+ } else if (actions[i].actions[j].type == "pointerDown") {
+ first_pointer_down = true;
+ } else if (actions[i].actions[j].type == "pointerUp") {
+ first_pointer_down = false;
+ }
+ }
}
}