tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

select-click-picker-light-dismiss.tentative.html (1422B)


      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 <style>
     10 select, ::picker(select) {
     11  appearance: base-select;
     12 }
     13 ::picker(select) {
     14  width: 600px;
     15  height: 600px;
     16  top: 0;
     17  left: 0;
     18  position-area: none;
     19  position-try-fallbacks: none;
     20 }
     21 </style>
     22 
     23 <select></select>
     24 
     25 <script>
     26 promise_test(async () => {
     27  const select = document.querySelector('select');
     28  await (new test_driver.Actions()
     29    .pointerMove(0, 0, {origin: select})
     30    .pointerDown()
     31    .pointerUp())
     32    .send();
     33  await new Promise(requestAnimationFrame);
     34  assert_true(select.matches(':open'),
     35    'Select should be open after clicking it.');
     36 
     37  let selectClicked = false;
     38  select.addEventListener('click', () => {
     39    selectClicked = true;
     40  });
     41 
     42  await (new test_driver.Actions()
     43    .pointerMove(300, 300)
     44    .pointerDown()
     45    .pointerUp())
     46    .send();
     47 
     48  assert_true(selectClicked,
     49    'Clicking ::picker(select) should fire a click event on the select element.');
     50  assert_true(select.matches(':open'),
     51    'Select should not close when clicking its picker.');
     52 }, 'Clicking directly on ::picker(select) should not trigger light dismiss.');
     53 </script>