Source code

Revision control

Copy as Markdown

Other Tools

Test Info:

  • This WPT test may be referenced by the following Test IDs:
    • /clipboard-apis/feature-policy/clipboard-write/clipboard-write-enabled-on-self-origin-by-feature-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="/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-write.html';
const cross_origin_src =
promise_test(async t => {
await tryGrantWritePermission();
await waitForUserActivation();
await navigator.clipboard.writeText('test text');
}, 'Feature-Policy header clipboard-write "self" allows the top-level document.');
promise_test(async t => {
await waitForUserActivation();
test_feature_availability(
'navigator.clipboard.writeText("test text")',
t,
same_origin_src,
expect_feature_available_default
);
}, 'Feature-Policy header clipboard-write "self" allows same-origin iframes.');
promise_test(async t => {
test_feature_availability(
'navigator.clipboard.writeText("test text")',
t,
cross_origin_src,
expect_feature_unavailable_default
);
}, 'Feature-Policy header clipboard-write "self" disallows cross-origin iframes.');
</script>