Index: third_party/WebKit/LayoutTests/imported/wpt/touch-events/touch-retargeting.html |
diff --git a/third_party/WebKit/LayoutTests/imported/wpt/touch-events/touch-retargeting.html b/third_party/WebKit/LayoutTests/imported/wpt/touch-events/touch-retargeting.html |
new file mode 100644 |
index 0000000000000000000000000000000000000000..8d3e83f054ab8e7f904a529d60b7308b0f852084 |
--- /dev/null |
+++ b/third_party/WebKit/LayoutTests/imported/wpt/touch-events/touch-retargeting.html |
@@ -0,0 +1,54 @@ |
+<!DOCTYPE HTML> |
+<html> |
+<head> |
+<title>TouchEvent Retargeting Tests</title> |
+<script src="/resources/testharness.js"></script> |
+<script src="/resources/testharnessreport.js"></script> |
+</head> |
+<body> |
+<div id="host0"></div> |
+<div id="host1"></div> |
+<script> |
+var host0 = document.getElementById('host0'); |
+var root0 = host0.attachShadow({ mode: 'open' }); |
+var target0 = document.createElement('div'); |
+root0.appendChild(target0); |
+ |
+var host1 = document.getElementById('host1'); |
+var root1 = host1.attachShadow({ mode: 'open' }); |
+var target1 = document.createElement('div'); |
+root1.appendChild(target1); |
+ |
+async_test(function(t) { |
+ var touch0 = new Touch({ |
+ identifier: 0, |
+ target: target0, |
+ }); |
+ var touch1 = new Touch({ |
+ identifier: 1, |
+ target: target1, |
+ }); |
+ |
+ var touchEvent = new TouchEvent("touchstart", { |
+ touches: [touch0, touch1], |
+ targetTouches: [touch1], |
+ changedTouches: [touch1], |
+ }); |
+ |
+ target0.addEventListener('touchstart', t.step_func_done(function(e) { |
+ assert_equals(e.touches.length, 2); |
+ assert_equals(e.touches[0].target, target0); |
+ assert_equals(e.touches[1].target, host1); |
+ |
+ assert_equals(e.targetTouches.length, 1); |
+ assert_equals(e.targetTouches[0].target, host1); |
+ |
+ assert_equals(e.changedTouches.length, 1); |
+ assert_equals(e.changedTouches[0].target, host1); |
+ })); |
+ |
+ target0.dispatchEvent(touchEvent, { composed: true }); |
+}, "TouchEvent's touches, targetTouches, and changedTouches should be retargeted."); |
+</script> |
+</body> |
+</html> |