tor-browser

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

dispatch_select_event.html (1267B)


      1 <!-- See also Bug 1679427.
      2 Ensure `select` event is only fired once when tab-ing to an `<input>` element.
      3 -->
      4 <!doctype html>
      5 <html>
      6 <head>
      7    <script src=/resources/testharness.js></script>
      8    <script src=/resources/testharnessreport.js></script>
      9    <script src="/resources/testdriver.js"></script>
     10    <script src="/resources/testdriver-vendor.js"></script>
     11 </head>
     12 <body>
     13    <button>Press this button and Press Tab</button><input value="abc">
     14    <script>
     15        promise_test(async t => {
     16            await new Promise(resolve => { window.onload = resolve; });
     17            const button = document.querySelector("button");
     18            const input = document.querySelector("input");
     19 
     20            let countSelectEvent = 0;
     21            input.addEventListener("select", event => {
     22                countSelectEvent++;
     23            });
     24 
     25            button.focus();
     26            const tabKey = "\uE004";
     27            await test_driver.send_keys(button, tabKey);
     28            await new Promise(resolve => requestAnimationFrame(
     29                () => requestAnimationFrame(resolve)
     30            ));
     31            assert_equals(countSelectEvent, 1, "Select event was fired more than once!");
     32        }, "Select event should only be fired once.");
     33    </script>
     34 </body>
     35 </html>