tor-browser

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

show-picker-user-gesture.html (1107B)


      1 <!DOCTYPE html>
      2 <title>Test showPicker() user gesture requirement</title>
      3 <meta name="timeout" content="long">
      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-vendor.js"></script>
      8 
      9 <select>
     10    <option>option</option>
     11 </select>
     12 
     13 <script type=module>
     14    const select = document.querySelector('select');
     15 
     16    test(() => {
     17        assert_throws_dom('NotAllowedError', () => { select.showPicker(); });
     18    }, `select showPicker() requires a user gesture`);
     19 
     20    promise_test(async t => {
     21        await test_driver.bless('show picker');
     22        select.showPicker();
     23        select.blur();
     24 
     25        assert_false(navigator.userActivation.isActive,
     26            'User activation should be consumed after calling showPicker().');
     27 
     28        assert_throws_dom('NotAllowedError', () => select.showPicker(),
     29            'select.showPicker() should throw when there is no user activation.');
     30    }, `select showPicker() does not throw when user activation is active.`);
     31 </script>