summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/html/user-activation/activation-trigger-mouse-right.html
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 09:22:09 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 09:22:09 +0000
commit43a97878ce14b72f0981164f87f2e35e14151312 (patch)
tree620249daf56c0258faa40cbdcf9cfba06de2a846 /testing/web-platform/tests/html/user-activation/activation-trigger-mouse-right.html
parentInitial commit. (diff)
downloadfirefox-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.html60
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>