tor-browser

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

serial-disabled-by-permissions-policy.https.sub.html (1889B)


      1 <!DOCTYPE html>
      2 <body>
      3 <script src="/resources/testharness.js"></script>
      4 <script src="/resources/testharnessreport.js"></script>
      5 <script src="/resources/test-only-api.js"></script>
      6 <script src="/permissions-policy/resources/permissions-policy.js"></script>
      7 <script>
      8 'use strict';
      9 const sub = 'https://{{domains[www]}}:{{ports[https][0]}}';
     10 const same_origin_src = '/permissions-policy/resources/permissions-policy-serial.html';
     11 const cross_origin_src = sub + same_origin_src;
     12 const same_origin_worker_frame_src =
     13    '/permissions-policy/resources/permissions-policy-serial-worker.html';
     14 const cross_origin_worker_frame_src = sub + same_origin_worker_frame_src;
     15 const header = 'Permissions-Policy header serial=()';
     16 
     17 promise_test(() => {
     18  return navigator.serial.getPorts().then(() => {
     19    assert_unreached('expected promise to reject with SecurityError');
     20  }, error => {
     21    assert_equals(error.name, 'SecurityError');
     22  });
     23 }, header + ' disallows getPorts in the top-level document.');
     24 
     25 async_test(t => {
     26  test_feature_availability('serial.getPorts()', t, same_origin_src,
     27      expect_feature_unavailable_default);
     28 }, header + ' disallows same-origin iframes.');
     29 
     30 async_test(t => {
     31  test_feature_availability('serial.getPorts()', t, same_origin_worker_frame_src,
     32      expect_feature_unavailable_default);
     33 }, header + ' disallows workers in same-origin iframes.');
     34 
     35 async_test(t => {
     36  test_feature_availability('serial.getPorts()', t, cross_origin_src,
     37      expect_feature_unavailable_default);
     38 }, header + ' disallows cross-origin iframes.');
     39 
     40 async_test(t => {
     41  test_feature_availability('serial.getPorts()', t,
     42      cross_origin_worker_frame_src,
     43      expect_feature_unavailable_default);
     44 }, header + ' disallows workers in cross-origin iframes.');
     45 
     46 fetch_tests_from_worker(new Worker(
     47    'resources/serial-disabled-by-permissions-policy-worker.js'));
     48 
     49 </script>
     50 </body>