<!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>