tor-browser

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

wakelock-enabled-by-permissions-policy.https.html (1497B)


      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 <script>
     10  "use strict";
     11 
     12  const same_origin_src =
     13    "/permissions-policy/resources/permissions-policy-screen-wakelock.html";
     14  const cross_origin_src =
     15    get_host_info().HTTPS_REMOTE_ORIGIN + same_origin_src;
     16 
     17  const header = 'Permissions-Policy header "screen-wake-lock=*"';
     18 
     19  promise_test(async t => {
     20    await test_driver.set_permission(
     21        { name: 'screen-wake-lock' }, 'granted');
     22    await navigator.wakeLock.request('screen').then(lock => lock.release());
     23  }, `${header} allows the top-level document.`);
     24 
     25  async_test(t => {
     26    test_feature_availability(
     27      'navigator.wakeLock.request("screen")',
     28      t,
     29      same_origin_src,
     30      expect_feature_available_default
     31    );
     32  }, `${header} allows same-origin iframes.`);
     33 
     34  // Set allow="screen-wake-lock" on iframe element to delegate
     35  // 'screen-wake-lock' to cross origin subframe.
     36  async_test(t => {
     37    test_feature_availability(
     38      'navigator.wakeLock.request("screen")',
     39      t,
     40      cross_origin_src,
     41      expect_feature_available_default,
     42      'screen-wake-lock'
     43    );
     44  }, `${header} allows cross-origin iframes.`);
     45 
     46 </script>
     47 </body>