diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 19:33:14 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 19:33:14 +0000 |
commit | 36d22d82aa202bb199967e9512281e9a53db42c9 (patch) | |
tree | 105e8c98ddea1c1e4784a60a5a6410fa416be2de /gfx/layers/apz/test/mochitest/helper_drag_click.html | |
parent | Initial commit. (diff) | |
download | firefox-esr-36d22d82aa202bb199967e9512281e9a53db42c9.tar.xz firefox-esr-36d22d82aa202bb199967e9512281e9a53db42c9.zip |
Adding upstream version 115.7.0esr.upstream/115.7.0esr
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'gfx/layers/apz/test/mochitest/helper_drag_click.html')
-rw-r--r-- | gfx/layers/apz/test/mochitest/helper_drag_click.html | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/gfx/layers/apz/test/mochitest/helper_drag_click.html b/gfx/layers/apz/test/mochitest/helper_drag_click.html new file mode 100644 index 0000000000..01722c798d --- /dev/null +++ b/gfx/layers/apz/test/mochitest/helper_drag_click.html @@ -0,0 +1,69 @@ +<!DOCTYPE HTML> +<html> +<head> + <meta charset="utf-8"> + <meta name="viewport" content="width=device-width; initial-scale=1.0"> + <title>Sanity mouse-drag click test</title> + <script type="application/javascript" src="apz_test_native_event_utils.js"></script> + <script type="application/javascript" src="apz_test_utils.js"></script> + <script src="/tests/SimpleTest/paint_listener.js"></script> + <script type="application/javascript"> + +async function test() { + let clickPromise = new Promise(resolve => { + document.addEventListener("click", resolve); + }); + + // Ensure the pointer is inside the window + await promiseNativeMouseEventWithAPZ({ + target: document.getElementById("b"), + offsetX: 5, + offsetY: 5, + type: "mousemove", + }); + // mouse down, move it around, and release it near where it went down. this + // should generate a click at the release point + await promiseNativeMouseEventWithAPZ({ + target: document.getElementById("b"), + offsetX: 5, + offsetY: 5, + type: "mousedown", + }); + await promiseNativeMouseEventWithAPZ({ + target: document.getElementById("b"), + offsetX: 100, + offsetY: 100, + type: "mousemove", + }); + await promiseNativeMouseEventWithAPZ({ + target: document.getElementById("b"), + offsetX: 10, + offsetY: 10, + type: "mousemove", + }); + await promiseNativeMouseEventWithAPZ({ + target: document.getElementById("b"), + offsetX: 8, + offsetY: 8, + type: "mouseup", + }); + dump("Finished synthesizing click with a drag in the middle\n"); + + let e = await clickPromise; + // The mouse down at (5, 5) should not have generated a click, but the up + // at (8, 8) should have. + is(e.target, document.getElementById("b"), "Clicked on button, yay! (at " + e.clientX + "," + e.clientY + ")"); + is(e.clientX, 8 + Math.floor(document.getElementById("b").getBoundingClientRect().left), "x-coord of click event looks sane"); + is(e.clientY, 8 + Math.floor(document.getElementById("b").getBoundingClientRect().top), "y-coord of click event looks sane"); +} + +waitUntilApzStable() +.then(test) +.then(subtestDone, subtestFailed); + + </script> +</head> +<body> + <button id="b" style="width: 10px; height: 10px; padding: 0;"></button> +</body> +</html> |