blob: 8d3e83f054ab8e7f904a529d60b7308b0f852084 [file] [log] [blame]
Hayato Ito3762f4c2016-08-23 05:21:261<!DOCTYPE HTML>
2<html>
3<head>
4<title>TouchEvent Retargeting Tests</title>
Ms2ger526656f2016-08-24 16:26:205<script src="/resources/testharness.js"></script>
6<script src="/resources/testharnessreport.js"></script>
Hayato Ito3762f4c2016-08-23 05:21:267</head>
8<body>
9<div id="host0"></div>
10<div id="host1"></div>
11<script>
12var host0 = document.getElementById('host0');
13var root0 = host0.attachShadow({ mode: 'open' });
14var target0 = document.createElement('div');
15root0.appendChild(target0);
16
17var host1 = document.getElementById('host1');
18var root1 = host1.attachShadow({ mode: 'open' });
19var target1 = document.createElement('div');
20root1.appendChild(target1);
21
22async_test(function(t) {
23 var touch0 = new Touch({
24 identifier: 0,
25 target: target0,
26 });
27 var touch1 = new Touch({
28 identifier: 1,
29 target: target1,
30 });
31
32 var touchEvent = new TouchEvent("touchstart", {
33 touches: [touch0, touch1],
34 targetTouches: [touch1],
35 changedTouches: [touch1],
36 });
37
38 target0.addEventListener('touchstart', t.step_func_done(function(e) {
39 assert_equals(e.touches.length, 2);
40 assert_equals(e.touches[0].target, target0);
41 assert_equals(e.touches[1].target, host1);
42
43 assert_equals(e.targetTouches.length, 1);
44 assert_equals(e.targetTouches[0].target, host1);
45
46 assert_equals(e.changedTouches.length, 1);
47 assert_equals(e.changedTouches[0].target, host1);
48 }));
49
50 target0.dispatchEvent(touchEvent, { composed: true });
51}, "TouchEvent's touches, targetTouches, and changedTouches should be retargeted.");
52</script>
53</body>
54</html>