diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 09:22:09 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 09:22:09 +0000 |
commit | 43a97878ce14b72f0981164f87f2e35e14151312 (patch) | |
tree | 620249daf56c0258faa40cbdcf9cfba06de2a846 /testing/web-platform/tests/html/user-activation/activation-trigger-mouse-right.html | |
parent | Initial commit. (diff) | |
download | firefox-upstream.tar.xz firefox-upstream.zip |
Adding upstream version 110.0.1.upstream/110.0.1upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'testing/web-platform/tests/html/user-activation/activation-trigger-mouse-right.html')
-rw-r--r-- | testing/web-platform/tests/html/user-activation/activation-trigger-mouse-right.html | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/testing/web-platform/tests/html/user-activation/activation-trigger-mouse-right.html b/testing/web-platform/tests/html/user-activation/activation-trigger-mouse-right.html new file mode 100644 index 0000000000..f98a54fe23 --- /dev/null +++ b/testing/web-platform/tests/html/user-activation/activation-trigger-mouse-right.html @@ -0,0 +1,60 @@ +<!DOCTYPE html> +<html> +<head> + <link rel="help" href="https://html.spec.whatwg.org/multipage/interaction.html#activation-triggering-input-event"> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/resources/testdriver.js"></script> + <script src="/resources/testdriver-actions.js"></script> + <script src="/resources/testdriver-vendor.js"></script> + <script src="resources/utils.js"></script> +</head> +<body onload="runTests()"> + <h1>Test for right-click activation trigger</h1> + <p>Tests user activation from a mouse right-click.</p> + <ol id="instructions"> + <li>Right-click anywhere in the document. + </ol> + <script> + function runTests() { + promise_test(async () => { + var actions = new test_driver.Actions(); + actions.pointerMove(0, 0, {origin: document.body}) + .pointerDown({button: actions.ButtonType.RIGHT}) + .pointerUp({button: actions.ButtonType.RIGHT}) + .send(); + + // In most non-Windows platforms the right-click context-menu appears on mousedown, so + // mouseup and auxclick events are not received by the page if the menu is modal. We + // are suppressing the context-menu to guarantee receiving those later events. + document.body.addEventListener("contextmenu", e => e.preventDefault()); + + let mousedown_event = getEvent('mousedown'); + let mouseup_event = getEvent('mouseup'); + let auxclick_event = getEvent('auxclick'); + let contextmenu_event = getEvent('contextmenu'); + + await mousedown_event; + let consumed = await consumeTransientActivation(); + assert_true(consumed, + "mousedown event should result in activation"); + + await mouseup_event; + consumed = await consumeTransientActivation(); + assert_false(consumed, + "mouseup should have no activation after mousedown consumption"); + + await auxclick_event; + consumed = await consumeTransientActivation(); + assert_false(consumed, + "auxclick should have no activation after mousedown consumption"); + + await contextmenu_event; + consumed = await consumeTransientActivation(); + assert_false(consumed, + "contextmenu should have no activation after mousedown consumption"); + }, "Activation through right-click mouse event"); + } + </script> +</body> +</html> |