| <!DOCTYPE html> |
| <html> |
| <head> |
| <link rel="help" href="https://html.spec.whatwg.org/multipage/interaction.html#activation-triggering-input-event"> |
| <meta name="variant" content="?mouse"> |
| <meta name="variant" content="?pen"> |
| <meta name="variant" content="?touch"> |
| <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 pointerevent click activation trigger</h1> |
| <p>Tests user activation from a pointer click.</p> |
| <ol id="instructions"> |
| <li>Click anywhere in the document. |
| </ol> |
| <script> |
| function runTests() { |
| let pointer_type = location.search.substring(1); |
| |
| promise_test(async () => { |
| const test_pointer = pointer_type + "TestPointer"; |
| |
| let pointerdown_event = getEvent('pointerdown'); |
| let pointerup_event = getEvent('pointerup'); |
| let click_event = getEvent('click'); |
| |
| await new test_driver.Actions().addPointer(test_pointer, pointer_type) |
| .pointerMove(0, 0, {origin:document.body, sourceName:test_pointer}) |
| .pointerDown({sourceName:test_pointer}) |
| .pointerUp({sourceName:test_pointer}) |
| .send(); |
| |
| await pointerdown_event; |
| let consumed_pointerdown = await consumeTransientActivation(); |
| await pointerup_event; |
| let consumed_pointerup = await consumeTransientActivation(); |
| await click_event; |
| let consumed_click = await consumeTransientActivation(); |
| |
| if (pointer_type === "mouse") { |
| assert_true(consumed_pointerdown, |
| pointer_type + " pointerdown event should result in activation"); |
| assert_false(consumed_pointerup, |
| pointer_type + " pointerup should have no activation after pointerdown consumption"); |
| assert_false(consumed_click, |
| pointer_type + " click should have no activation after pointerdown consumption"); |
| } else { |
| assert_false(consumed_pointerdown, |
| pointer_type + " pointerdown event should not result in activation"); |
| assert_true(consumed_pointerup, |
| pointer_type + " pointerup event should result in activation"); |
| assert_false(consumed_click, |
| pointer_type + " click should have no activation after pointerup consumption"); |
| } |
| }, "Activation through " + pointer_type + " pointerevent click"); |
| } |
| </script> |
| </body> |
| </html> |