compute-pressure-allowed-by-permissions-policy.https.html (1640B)
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 () => { 17 try { 18 const observer = new PressureObserver(() => {}); 19 await observer.observe("cpu"); 20 observer.disconnect(); 21 } catch (e) { 22 assert_unreached("expected promise to resolve."); 23 } 24 }, `${header} allows the top-level document.`); 25 26 async_test(t => { 27 test_feature_availability( 28 'ComputePressure.observe()', 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 'ComputePressure.observe()', 38 t, 39 cross_origin_src, 40 expect_feature_unavailable_default 41 ); 42 }, `${header} disallows cross-origin iframes.`); 43 44 async_test(t => { 45 test_feature_availability( 46 'ComputePressure.observe()', 47 t, 48 cross_origin_src, 49 expect_feature_available_default, 50 'compute-pressure' 51 ); 52 }, `${header} allows cross-origin iframes with ${attribute}.`); 53 54 fetch_tests_from_worker(new Worker( 55 '/compute-pressure/resources/compute-pressure-allowed-by-permissions-policy-worker.js')); 56 </script> 57 </body>