summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/screen-wake-lock/wakelock-enabled-by-permissions-policy.https.html
diff options
context:
space:
mode:
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.html47
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>