tor-browser

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

compute-pressure-disabled-by-permissions-policy.https.html (1892B)


      1 <!DOCTYPE html>
      2 <body>
      3 <script src="/resources/testharness.js"></script>
      4 <script src="/resources/testharnessreport.js"></script>
      5 <script src="/permissions-policy/resources/permissions-policy.js"></script>
      6 <script src="/common/get-host-info.sub.js"></script>
      7 <script>
      8 "use strict";
      9 
     10 const same_origin_src =
     11  '/permissions-policy/resources/permissions-policy-compute-pressure.html';
     12 const cross_origin_src = get_host_info().HTTPS_REMOTE_ORIGIN + same_origin_src;
     13 const header = 'permissions policy header "compute-pressure=()"';
     14 const attribute = 'allow="compute-pressure" attribute';
     15 
     16 promise_test(async t => {
     17  const observer = new PressureObserver(
     18    t.unreached_func('oops should not end up here')
     19  );
     20  await promise_rejects_dom(t, 'NotAllowedError', observer.observe("cpu"));
     21 }, `${header} disallows the top-level document.`);
     22 
     23 async_test(t => {
     24  test_feature_availability(
     25    'ComputePressure.observe()',
     26    t,
     27    same_origin_src,
     28    expect_feature_unavailable_default
     29  );
     30 }, `${header} disallows same-origin iframes.`);
     31 
     32 async_test(t => {
     33  test_feature_availability(
     34    'ComputePressure.observe()',
     35    t,
     36    cross_origin_src,
     37    expect_feature_unavailable_default
     38  );
     39 }, `${header} disallows cross-origin iframes.`);
     40 
     41 async_test(t => {
     42  test_feature_availability(
     43    'ComputePressure.observe()',
     44    t,
     45    same_origin_src,
     46    expect_feature_unavailable_default,
     47    'compute-pressure'
     48  );
     49 }, `${header} disallows same-origin iframes despite the ${attribute}.`);
     50 
     51 async_test(t => {
     52  test_feature_availability(
     53    'ComputePressure.observe()',
     54    t,
     55    cross_origin_src,
     56    expect_feature_unavailable_default,
     57    'compute-pressure'
     58  );
     59 }, `${header} disallows cross-origin iframes despite the ${attribute}.`);
     60 
     61 fetch_tests_from_worker(new Worker(
     62    '/compute-pressure/resources/compute-pressure-disabled-by-permissions-policy-worker.js'));
     63 </script>
     64 </body>