diff options
Diffstat (limited to 'testing/web-platform/tests/screen-wake-lock/wakelock-enabled-by-permissions-policy.https.html')
-rw-r--r-- | testing/web-platform/tests/screen-wake-lock/wakelock-enabled-by-permissions-policy.https.html | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/testing/web-platform/tests/screen-wake-lock/wakelock-enabled-by-permissions-policy.https.html b/testing/web-platform/tests/screen-wake-lock/wakelock-enabled-by-permissions-policy.https.html new file mode 100644 index 0000000000..cc9106967e --- /dev/null +++ b/testing/web-platform/tests/screen-wake-lock/wakelock-enabled-by-permissions-policy.https.html @@ -0,0 +1,47 @@ +<!DOCTYPE html> +<body> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="/resources/testdriver.js"></script> +<script src="/resources/testdriver-vendor.js"></script> +<script src="/permissions-policy/resources/permissions-policy.js"></script> +<script src="/common/get-host-info.sub.js"></script> +<script> + "use strict"; + + const same_origin_src = + "/permissions-policy/resources/permissions-policy-screen-wakelock.html"; + const cross_origin_src = + get_host_info().HTTPS_REMOTE_ORIGIN + same_origin_src; + + const header = 'Permissions-Policy header "screen-wake-lock=*"'; + + promise_test(async t => { + await test_driver.set_permission( + { name: 'screen-wake-lock' }, 'granted'); + await navigator.wakeLock.request('screen').then(lock => lock.release()); + }, `${header} allows the top-level document.`); + + async_test(t => { + test_feature_availability( + 'navigator.wakeLock.request("screen")', + t, + same_origin_src, + expect_feature_available_default + ); + }, `${header} allows same-origin iframes.`); + + // Set allow="screen-wake-lock" on iframe element to delegate + // 'screen-wake-lock' to cross origin subframe. + async_test(t => { + test_feature_availability( + 'navigator.wakeLock.request("screen")', + t, + cross_origin_src, + expect_feature_available_default, + 'screen-wake-lock' + ); + }, `${header} allows cross-origin iframes.`); + +</script> +</body> |