activation-trigger-pointerevent.html (2754B)
1 <!DOCTYPE html> 2 <html> 3 <head> 4 <link rel="help" href="https://html.spec.whatwg.org/multipage/interaction.html#activation-triggering-input-event"> 5 <meta name="variant" content="?mouse"> 6 <meta name="variant" content="?pen"> 7 <meta name="variant" content="?touch"> 8 <script src="/resources/testharness.js"></script> 9 <script src="/resources/testharnessreport.js"></script> 10 <script src="/resources/testdriver.js"></script> 11 <script src="/resources/testdriver-actions.js"></script> 12 <script src="/resources/testdriver-vendor.js"></script> 13 <script src="resources/utils.js"></script> 14 </head> 15 <body onload="runTests()"> 16 <h1>Test for pointerevent click activation trigger</h1> 17 <p>Tests user activation from a pointer click.</p> 18 <ol id="instructions"> 19 <li>Click anywhere in the document. 20 </ol> 21 <script> 22 function runTests() { 23 let pointer_type = location.search.substring(1); 24 25 promise_test(async () => { 26 const test_pointer = pointer_type + "TestPointer"; 27 28 let pointerdown_event = getEvent('pointerdown'); 29 let pointerup_event = getEvent('pointerup'); 30 let click_event = getEvent('click'); 31 32 await new test_driver.Actions().addPointer(test_pointer, pointer_type) 33 .pointerMove(0, 0, {origin:document.body, sourceName:test_pointer}) 34 .pointerDown({sourceName:test_pointer}) 35 .pointerUp({sourceName:test_pointer}) 36 .send(); 37 38 await pointerdown_event; 39 let consumed_pointerdown = await consumeTransientActivation(); 40 await pointerup_event; 41 let consumed_pointerup = await consumeTransientActivation(); 42 await click_event; 43 let consumed_click = await consumeTransientActivation(); 44 45 if (pointer_type === "mouse") { 46 assert_true(consumed_pointerdown, 47 pointer_type + " pointerdown event should result in activation"); 48 assert_false(consumed_pointerup, 49 pointer_type + " pointerup should have no activation after pointerdown consumption"); 50 assert_false(consumed_click, 51 pointer_type + " click should have no activation after pointerdown consumption"); 52 } else { 53 assert_false(consumed_pointerdown, 54 pointer_type + " pointerdown event should not result in activation"); 55 assert_true(consumed_pointerup, 56 pointer_type + " pointerup event should result in activation"); 57 assert_false(consumed_click, 58 pointer_type + " click should have no activation after pointerup consumption"); 59 } 60 }, "Activation through " + pointer_type + " pointerevent click"); 61 } 62 </script> 63 </body> 64 </html>