popover-light-dismiss-contextmenu.html (1247B)
1 <!DOCTYPE html> 2 <link rel=author href="mailto:jarhar@chromium.org"> 3 <link rel=help href="https://github.com/whatwg/html/issues/10905"> 4 <script src="/resources/testharness.js"></script> 5 <script src="/resources/testharnessreport.js"></script> 6 <script src="/resources/testdriver.js"></script> 7 <script src="/resources/testdriver-actions.js"></script> 8 <script src="/resources/testdriver-vendor.js"></script> 9 10 <div id=target>target</div> 11 <div id=popover popover=auto>popover</div> 12 13 <script> 14 const target = document.getElementById('target'); 15 const popover = document.getElementById('popover'); 16 17 promise_test(async () => { 18 let contextmenuFired = false; 19 target.addEventListener('contextmenu', event => { 20 event.preventDefault(); 21 popover.showPopover(); 22 contextmenuFired = true; 23 }); 24 25 const actions = new test_driver.Actions(); 26 await actions.pointerMove(0, 0, {origin: target}) 27 .pointerDown({button: actions.ButtonType.RIGHT}) 28 .pointerUp({button: actions.ButtonType.RIGHT}) 29 .send(); 30 31 assert_true(contextmenuFired, 'right clicking should fire a contextmenu event.'); 32 assert_true(popover.matches(':popover-open'), 'popover should be open.'); 33 }, 'Popovers should not be light dismissed during contextmenu event.'); 34 </script>