diff options
Diffstat (limited to 'testing/web-platform/tests/clipboard-apis/feature-policy/clipboard-read/clipboard-read-enabled-on-self-origin-by-feature-policy.tentative.https.sub.html')
-rw-r--r-- | testing/web-platform/tests/clipboard-apis/feature-policy/clipboard-read/clipboard-read-enabled-on-self-origin-by-feature-policy.tentative.https.sub.html | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/testing/web-platform/tests/clipboard-apis/feature-policy/clipboard-read/clipboard-read-enabled-on-self-origin-by-feature-policy.tentative.https.sub.html b/testing/web-platform/tests/clipboard-apis/feature-policy/clipboard-read/clipboard-read-enabled-on-self-origin-by-feature-policy.tentative.https.sub.html new file mode 100644 index 0000000000..17dc3628a7 --- /dev/null +++ b/testing/web-platform/tests/clipboard-apis/feature-policy/clipboard-read/clipboard-read-enabled-on-self-origin-by-feature-policy.tentative.https.sub.html @@ -0,0 +1,45 @@ +<!doctype html> +<body>Body needed for test_driver.click()</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="/feature-policy/resources/featurepolicy.js"></script> +<script src="../../resources/user-activation.js"></script> +<script> +'use strict'; + +const same_origin_src = + '/feature-policy/resources/feature-policy-clipboard-read.html'; +const cross_origin_src = + 'https://{{domains[www]}}:{{ports[https][0]}}' + same_origin_src; + +promise_test(async t => { + await test_driver.set_permission({ name: 'clipboard-read' }, 'granted'); + await waitForUserActivation(); + await navigator.clipboard.readText('test text'); +}, 'Feature-Policy header clipboard-read "self" allows the top-level document.'); + +promise_test(async t => { + await waitForUserActivation(); + test_feature_availability( + 'navigator.clipboard.readText()', + t, + same_origin_src, + expect_feature_available_default + ); +}, 'Feature-Policy header clipboard-read "self" allows same-origin iframes.'); + +// TODO(https://github.com/whatwg/html/issues/5493, https://crbug.com/1074482): +// In Chrome and Firefox, Cross-origin focus requires user gesture. In Chrome +// only, cross-origin focus is asynchronous. Implement WPT support for +// cross-origin focus. +promise_test(async t => { + test_feature_availability( + 'navigator.clipboard.readText()', + t, + cross_origin_src, + expect_feature_unavailable_default + ); +}, 'Feature-Policy header clipboard-read "self" disallows cross-origin iframes.'); +</script> |