blob: c2d66833281237f0f6d99147cf4002d067ea879f [file] [log] [blame]
<!DOCTYPE html>
<html>
<head>
<meta charset=utf-8>
<meta name="viewport" content="width=device-width, initial-scale=1">
</head>
<body>
<script src="../../resources/testharness.js"></script>
<script src="../../resources/testharnessreport.js"></script>
<script src="../utils.js"></script>
<script>
'use strict';
target_test((target, test) => {
target.style.touchAction = "none";
const eventTracker = new EventTracker(target, ["pointerdown", "gotpointercapture", "pointermove", "pointerup", "lostpointercapture"]);
const one = ui.finger();
const two = ui.finger();
ui.sequence([
one.begin({ x: 10, y: 10 }),
two.begin({ x: 50, y: 50 }),
one.move({ x: 30, y: 30 }),
two.move({ x: 70, y: 70 }),
one.end(),
two.end()
]).then(() => {
eventTracker.assertMatchesEvents([
{ id: 1, type: "pointerdown" },
{ id: 1, type: "gotpointercapture", isPrimary: true },
{ id: 2, type: "pointerdown" },
{ id: 2, type: "gotpointercapture", isPrimary: false },
{ id: 1, type: "pointermove" },
{ id: 2, type: "pointermove" },
{ id: 1, type: "pointerup" },
{ id: 1, type: "lostpointercapture", isPrimary: true },
{ id: 2, type: "pointerup" },
{ id: 2, type: "lostpointercapture", isPrimary: false }
]);
test.done();
});
}, "Pointer events for a direct manipulation device trigger 'gotpointercapture' and 'lostpointercapture' events due to implicit capture.");
</script>
</body>
</html>