tor-browser

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

wakelock-enabled-on-self-origin-by-permissions-policy.https.html (1391B)


      1 <!DOCTYPE html>
      2 <body>
      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="/permissions-policy/resources/permissions-policy.js"></script>
      8 <script src="/common/get-host-info.sub.js"></script>
      9 
     10 <script>
     11  "use strict";
     12 
     13  const same_origin_src =
     14    "/permissions-policy/resources/permissions-policy-screen-wakelock.html";
     15  const cross_origin_src =
     16    get_host_info().HTTPS_REMOTE_ORIGIN + same_origin_src;
     17 
     18  const header = 'Permissions-Policy header "screen-wake-lock=self"';
     19 
     20  promise_test(async t => {
     21    await test_driver.set_permission(
     22        { name: 'screen-wake-lock' }, 'granted');
     23    await navigator.wakeLock.request('screen').then(lock => lock.release());
     24  }, `${header} allows the top-level document.`);
     25 
     26  async_test(t => {
     27    test_feature_availability(
     28      'navigator.wakeLock.request("screen")',
     29      t,
     30      same_origin_src,
     31      expect_feature_available_default
     32    );
     33  }, `${header} allows same-origin iframes.`);
     34 
     35  async_test(t => {
     36    test_feature_availability(
     37      'navigator.wakeLock.request("screen")',
     38      t,
     39      cross_origin_src,
     40      expect_feature_unavailable_default,
     41      'screen-wake-lock'
     42    );
     43  }, `${header} disallows cross-origin iframes.`);
     44 </script>
     45 </body>