Source code
Revision control
Copy as Markdown
Other Tools
Test Info: Warnings
- This test has a WPT meta file that expects 3 subtest issues.
- This WPT test may be referenced by the following Test IDs:
- /clipboard-apis/permissions-policy/clipboard-read/clipboard-read-enabled-on-self-origin-by-permissions-policy.tentative.https.sub.html - WPT Dashboard Interop Dashboard
<!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="/permissions-policy/resources/permissions-policy.js"></script>
<script src="../../resources/user-activation.js"></script>
<script>
'use strict';
const same_origin_src =
'/permissions-policy/resources/permissions-policy-clipboard-read.html';
const cross_origin_src =
'https://{{hosts[alt][]}}:{{ports[https][0]}}' + same_origin_src;
promise_test(async t => {
await tryGrantReadPermission();
await waitForUserActivation();
await navigator.clipboard.readText('test text');
}, 'Permissions-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
);
}, 'Permissions-Policy header clipboard-read=self allows same-origin iframes.');
// 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
);
}, 'Permissions-Policy header clipboard-read=self disallows cross-origin iframes.');
</script>