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