idle-detection-disabled-by-permissions-policy.https.sub.html (2213B)
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> 7 'use strict'; 8 9 const sub = 'https://{{domains[www]}}:{{ports[https][0]}}'; 10 const same_origin_src = 11 '/permissions-policy/resources/permissions-policy-idle-detection.html' 12 const same_origin_worker_frame_src = 13 '/permissions-policy/resources/permissions-policy-idle-detection-worker.html'; 14 const cross_origin_src = sub + same_origin_src; 15 const cross_origin_worker_frame_src = sub + same_origin_worker_frame_src; 16 17 promise_test(async () => { 18 try { 19 let idleDetector = new IdleDetector(); 20 await idleDetector.start(); 21 assert_unreached('expected promise to reject with SecurityError'); 22 } catch (error) { 23 assert_equals(error.name, 'SecurityError'); 24 } 25 }, 'Permissions-Policy idle-detection=() explicitly set by top-level frame ' + 26 'disallows query in the top-level document.'); 27 28 async_test(t => { 29 test_feature_availability('new IdleDetector().start()', t, same_origin_src, 30 expect_feature_unavailable_default); 31 }, 'Permissions-Policy idle-detection=() explicitly set by top-level frame ' + 32 'disallows same-origin iframes.'); 33 34 async_test(t => { 35 test_feature_availability('new IdleDetector().start()', t, same_origin_worker_frame_src, 36 expect_feature_unavailable_default); 37 }, 'Permissions-Policy idle-detection=() explicitly set by top-level frame ' + 38 'disallows workers in same-origin iframes.'); 39 40 async_test(t => { 41 test_feature_availability('new IdleDetector().start()', t, cross_origin_src, 42 expect_feature_unavailable_default); 43 }, 'Permissions-Policy idle-detection=() explicitly set by top-level frame ' + 44 'disallows cross-origin iframes.'); 45 46 async_test(t => { 47 test_feature_availability('new IdleDetector().start()', t, cross_origin_worker_frame_src, 48 expect_feature_unavailable_default); 49 }, 'Permissions-Policy idle-detection=() explicitly set by top-level frame ' + 50 'disallows workers in cross-origin iframes.'); 51 52 fetch_tests_from_worker(new Worker( 53 'resources/idle-detection-disabled-by-permissions-policy-worker.js')) 54 55 </script> 56 </body>