| <!DOCTYPE html> | |
| <body> | |
| <script src=/resources/testdriver.js></script> | |
| <script src=/resources/testdriver-vendor.js></script> | |
| <script src=/resources/testharness.js></script> | |
| <script src=/resources/testharnessreport.js></script> | |
| <script src=/permissions-policy/resources/permissions-policy.js></script> | |
| <script> | |
| 'use strict'; | |
| const sub = 'https://{{domains[www]}}:{{ports[https][0]}}'; | |
| const same_origin_src = | |
| '/permissions-policy/resources/permissions-policy-idle-detection.html' | |
| const same_origin_worker_frame_src = | |
| '/permissions-policy/resources/permissions-policy-idle-detection-worker.html'; | |
| const cross_origin_src = sub + same_origin_src; | |
| const cross_origin_worker_frame_src = sub + same_origin_worker_frame_src; | |
| promise_setup(async () => { | |
| await test_driver.set_permission({ name: 'idle-detection' }, 'granted'); | |
| }); | |
| promise_test(async t => { | |
| await new IdleDetector().start(); | |
| }, | |
| 'Permissions-Policy idle-detection=* explicity set by top-level ' + | |
| 'frame allows the top-level document.'); | |
| promise_test(async t => { | |
| test_feature_availability('new IdleDetector().start()', t, same_origin_src, | |
| expect_feature_available_default); | |
| }, 'Permissions-Policy idle-detection=* explicity set by top-level ' + | |
| 'frame allows same-origin iframes.'); | |
| promise_test(async t => { | |
| test_feature_availability('new IdleDetector().start()', t, same_origin_worker_frame_src, | |
| expect_feature_available_default); | |
| }, 'Permissions-Policy idle-detection=* explicity set by top-level ' + | |
| 'frame allows workers in same-origin iframes.'); | |
| promise_test(async t => { | |
| test_feature_availability('new IdleDetector().start()', t, cross_origin_src, | |
| expect_feature_available_default); | |
| }, 'Permissions-Policy idle-detection=* explicity set by top-level ' + | |
| 'frame allows cross-origin iframes.'); | |
| promise_test(async t => { | |
| test_feature_availability('new IdleDetector().start()', t, cross_origin_worker_frame_src, | |
| expect_feature_available_default); | |
| }, 'Permissions-Policy idle-detection=* explicity set by top-level ' + | |
| 'frame allows workers in cross-origin iframes.'); | |
| fetch_tests_from_worker(new Worker( | |
| 'resources/idle-detection-allowed-by-permissions-policy-worker.js')) | |
| </script> | |
| </body> |