47 lines
1.5 KiB
HTML
47 lines
1.5 KiB
HTML
<!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: 2, type: "pointerdown" },
|
|
{ id: 1, type: "gotpointercapture", isPrimary: true },
|
|
{ id: 1, type: "pointermove" },
|
|
{ id: 2, type: "gotpointercapture", isPrimary: false },
|
|
{ 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> |