light-dismiss-remove-target.html (1137B)
1 <!DOCTYPE html> 2 <link rel=author href="mailto:jarhar@chromium.org"> 3 <script src="/resources/testharness.js"></script> 4 <script src="/resources/testharnessreport.js"></script> 5 <script src="/resources/testdriver.js"></script> 6 <script src="/resources/testdriver-vendor.js"></script> 7 <script src="/resources/testdriver-actions.js"></script> 8 9 <div id=target>light dismiss target</div> 10 <div id=popover popover>popover</div> 11 12 <script> 13 const target = document.getElementById('target'); 14 const popover = document.getElementById('popover'); 15 16 promise_test(async () => { 17 popover.showPopover(); 18 assert_true(popover.matches(':popover-open'), 19 'popover should be open at the start of the test.'); 20 21 target.addEventListener('pointerdown', () => { 22 target.remove(); 23 }); 24 25 await (new test_driver.Actions() 26 .pointerMove(0, 0, {origin: target}) 27 .pointerDown() 28 .pointerUp()) 29 .send(); 30 31 assert_true(popover.matches(':popover-open'), 32 'popover should not be light dismissed after removing the target during pointerdown.'); 33 }, 'Light dismiss should still happen if the clicked element is removed during pointerdown.'); 34 </script>