diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 17:32:43 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 17:32:43 +0000 |
commit | 6bf0a5cb5034a7e684dcc3500e841785237ce2dd (patch) | |
tree | a68f146d7fa01f0134297619fbe7e33db084e0aa /testing/web-platform/tests/clipboard-apis/feature-policy | |
parent | Initial commit. (diff) | |
download | thunderbird-upstream.tar.xz thunderbird-upstream.zip |
Adding upstream version 1:115.7.0.upstream/1%115.7.0upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'testing/web-platform/tests/clipboard-apis/feature-policy')
20 files changed, 410 insertions, 0 deletions
diff --git a/testing/web-platform/tests/clipboard-apis/feature-policy/clipboard-read/clipboard-read-disabled-by-feature-policy.tentative.https.sub.html b/testing/web-platform/tests/clipboard-apis/feature-policy/clipboard-read/clipboard-read-disabled-by-feature-policy.tentative.https.sub.html new file mode 100644 index 0000000000..7af2b8944e --- /dev/null +++ b/testing/web-platform/tests/clipboard-apis/feature-policy/clipboard-read/clipboard-read-disabled-by-feature-policy.tentative.https.sub.html @@ -0,0 +1,40 @@ +<!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="/feature-policy/resources/featurepolicy.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'); + return promise_rejects_dom(t, 'NotAllowedError', + navigator.clipboard.readText('test text')); +}, 'Feature-Policy header clipboard-read "none" disallows the top-level document.'); + +async_test(t => { + test_feature_availability( + 'navigator.clipboard.readText()', + t, + same_origin_src, + expect_feature_unavailable_default + ); +}, 'Feature-Policy header clipboard-read "none" disallows same-origin iframes.'); + +async_test(t => { + test_feature_availability( + 'navigator.clipboard.readText()', + t, + cross_origin_src, + expect_feature_unavailable_default + ); +}, 'Feature-Policy header clipboard-read "none" disallows cross-origin iframes.'); +</script> +</body> diff --git a/testing/web-platform/tests/clipboard-apis/feature-policy/clipboard-read/clipboard-read-disabled-by-feature-policy.tentative.https.sub.html.headers b/testing/web-platform/tests/clipboard-apis/feature-policy/clipboard-read/clipboard-read-disabled-by-feature-policy.tentative.https.sub.html.headers new file mode 100644 index 0000000000..ee9a2b6fb6 --- /dev/null +++ b/testing/web-platform/tests/clipboard-apis/feature-policy/clipboard-read/clipboard-read-disabled-by-feature-policy.tentative.https.sub.html.headers @@ -0,0 +1 @@ +Feature-Policy: clipboard-read 'none' diff --git a/testing/web-platform/tests/clipboard-apis/feature-policy/clipboard-read/clipboard-read-enabled-by-feature-policy-attribute-cross-origin-tentative.https.sub.html b/testing/web-platform/tests/clipboard-apis/feature-policy/clipboard-read/clipboard-read-enabled-by-feature-policy-attribute-cross-origin-tentative.https.sub.html new file mode 100644 index 0000000000..367d033d0f --- /dev/null +++ b/testing/web-platform/tests/clipboard-apis/feature-policy/clipboard-read/clipboard-read-enabled-by-feature-policy-attribute-cross-origin-tentative.https.sub.html @@ -0,0 +1,31 @@ +<!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; + +// 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 => { + await waitForUserActivation(); + test_feature_availability( + 'navigator.clipboard.readText()', + t, + cross_origin_src, + expect_feature_available_default, + 'clipboard-read' + ); +}, 'Feature policy "clipboard-read" can be enabled in cross-origin iframe using allow="clipboard-read" attribute'); +</script> diff --git a/testing/web-platform/tests/clipboard-apis/feature-policy/clipboard-read/clipboard-read-enabled-by-feature-policy-attribute-tentative.https.sub.html b/testing/web-platform/tests/clipboard-apis/feature-policy/clipboard-read/clipboard-read-enabled-by-feature-policy-attribute-tentative.https.sub.html new file mode 100644 index 0000000000..e812854b4c --- /dev/null +++ b/testing/web-platform/tests/clipboard-apis/feature-policy/clipboard-read/clipboard-read-enabled-by-feature-policy-attribute-tentative.https.sub.html @@ -0,0 +1,25 @@ +<!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'; + +promise_test(async t => { + await waitForUserActivation(); + test_feature_availability( + 'navigator.clipboard.readText()', + t, + same_origin_src, + expect_feature_available_default, + 'clipboard-read' + ); +}, 'Feature policy "clipboard-read" can be enabled in same-origin iframe using allow="clipboard-read" attribute'); +</script> diff --git a/testing/web-platform/tests/clipboard-apis/feature-policy/clipboard-read/clipboard-read-enabled-by-feature-policy-cross-origin-tentative.https.sub.html b/testing/web-platform/tests/clipboard-apis/feature-policy/clipboard-read/clipboard-read-enabled-by-feature-policy-cross-origin-tentative.https.sub.html new file mode 100644 index 0000000000..c371ea3b41 --- /dev/null +++ b/testing/web-platform/tests/clipboard-apis/feature-policy/clipboard-read/clipboard-read-enabled-by-feature-policy-cross-origin-tentative.https.sub.html @@ -0,0 +1,30 @@ +<!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; + +// 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 => { + await waitForUserActivation(); + test_feature_availability( + 'navigator.clipboard.readText()', + t, + cross_origin_src, + expect_feature_available_default + ); +}, 'Feature-Policy header clipboard-read "*" allows cross-origin iframes.'); +</script> diff --git a/testing/web-platform/tests/clipboard-apis/feature-policy/clipboard-read/clipboard-read-enabled-by-feature-policy-cross-origin.tentative.https.sub.html.headers b/testing/web-platform/tests/clipboard-apis/feature-policy/clipboard-read/clipboard-read-enabled-by-feature-policy-cross-origin.tentative.https.sub.html.headers new file mode 100644 index 0000000000..a147e2a64f --- /dev/null +++ b/testing/web-platform/tests/clipboard-apis/feature-policy/clipboard-read/clipboard-read-enabled-by-feature-policy-cross-origin.tentative.https.sub.html.headers @@ -0,0 +1 @@ +Feature-Policy: clipboard-read * diff --git a/testing/web-platform/tests/clipboard-apis/feature-policy/clipboard-read/clipboard-read-enabled-by-feature-policy.tentative.https.sub.html b/testing/web-platform/tests/clipboard-apis/feature-policy/clipboard-read/clipboard-read-enabled-by-feature-policy.tentative.https.sub.html new file mode 100644 index 0000000000..552183cc67 --- /dev/null +++ b/testing/web-platform/tests/clipboard-apis/feature-policy/clipboard-read/clipboard-read-enabled-by-feature-policy.tentative.https.sub.html @@ -0,0 +1,32 @@ +<!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 "*" 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 "*" allows same-origin iframes.'); +</script> diff --git a/testing/web-platform/tests/clipboard-apis/feature-policy/clipboard-read/clipboard-read-enabled-by-feature-policy.tentative.https.sub.html.headers b/testing/web-platform/tests/clipboard-apis/feature-policy/clipboard-read/clipboard-read-enabled-by-feature-policy.tentative.https.sub.html.headers new file mode 100644 index 0000000000..a147e2a64f --- /dev/null +++ b/testing/web-platform/tests/clipboard-apis/feature-policy/clipboard-read/clipboard-read-enabled-by-feature-policy.tentative.https.sub.html.headers @@ -0,0 +1 @@ +Feature-Policy: clipboard-read * 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> 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.headers b/testing/web-platform/tests/clipboard-apis/feature-policy/clipboard-read/clipboard-read-enabled-on-self-origin-by-feature-policy.tentative.https.sub.html.headers new file mode 100644 index 0000000000..752d7faff4 --- /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.headers @@ -0,0 +1 @@ +Feature-Policy: clipboard-read 'self' diff --git a/testing/web-platform/tests/clipboard-apis/feature-policy/clipboard-write/clipboard-write-disabled-by-feature-policy.tentative.https.sub.html b/testing/web-platform/tests/clipboard-apis/feature-policy/clipboard-write/clipboard-write-disabled-by-feature-policy.tentative.https.sub.html new file mode 100644 index 0000000000..5d19d8dd6f --- /dev/null +++ b/testing/web-platform/tests/clipboard-apis/feature-policy/clipboard-write/clipboard-write-disabled-by-feature-policy.tentative.https.sub.html @@ -0,0 +1,40 @@ +<!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="/feature-policy/resources/featurepolicy.js"></script> +<script> +'use strict'; + +const same_origin_src = + '/feature-policy/resources/feature-policy-clipboard-write.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-write' }, 'granted'); + return promise_rejects_dom(t, 'NotAllowedError', + navigator.clipboard.writeText('test text')); +}, 'Feature-Policy header clipboard-write "none" disallows the top-level document.'); + +async_test(t => { + test_feature_availability( + 'navigator.clipboard.writeText("test text")', + t, + same_origin_src, + expect_feature_unavailable_default + ); +}, 'Feature-Policy header clipboard-write "none" disallows same-origin iframes.'); + +async_test(t => { + test_feature_availability( + 'navigator.clipboard.writeText("test text")', + t, + cross_origin_src, + expect_feature_unavailable_default + ); +}, 'Feature-Policy header clipboard-write "none" disallows cross-origin iframes.'); +</script> +</body> diff --git a/testing/web-platform/tests/clipboard-apis/feature-policy/clipboard-write/clipboard-write-disabled-by-feature-policy.tentative.https.sub.html.headers b/testing/web-platform/tests/clipboard-apis/feature-policy/clipboard-write/clipboard-write-disabled-by-feature-policy.tentative.https.sub.html.headers new file mode 100644 index 0000000000..f35f5b6a09 --- /dev/null +++ b/testing/web-platform/tests/clipboard-apis/feature-policy/clipboard-write/clipboard-write-disabled-by-feature-policy.tentative.https.sub.html.headers @@ -0,0 +1 @@ +Feature-Policy: clipboard-write 'none' diff --git a/testing/web-platform/tests/clipboard-apis/feature-policy/clipboard-write/clipboard-write-enabled-by-feature-policy-attribute-cross-origin-tentative.https.sub.html b/testing/web-platform/tests/clipboard-apis/feature-policy/clipboard-write/clipboard-write-enabled-by-feature-policy-attribute-cross-origin-tentative.https.sub.html new file mode 100644 index 0000000000..e669c8fec4 --- /dev/null +++ b/testing/web-platform/tests/clipboard-apis/feature-policy/clipboard-write/clipboard-write-enabled-by-feature-policy-attribute-cross-origin-tentative.https.sub.html @@ -0,0 +1,31 @@ +<!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 = + 'https://{{domains[www]}}:{{ports[https][0]}}' + same_origin_src; + +// 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 => { + await waitForUserActivation(); + test_feature_availability( + 'navigator.clipboard.writeText("test text")', + t, + cross_origin_src, + expect_feature_available_default, + 'clipboard-write' + ); +}, 'Feature policy "clipboard-write" can be enabled in cross-origin iframe using allow="clipboard-write" attribute'); +</script> diff --git a/testing/web-platform/tests/clipboard-apis/feature-policy/clipboard-write/clipboard-write-enabled-by-feature-policy-attribute-tentative.https.sub.html b/testing/web-platform/tests/clipboard-apis/feature-policy/clipboard-write/clipboard-write-enabled-by-feature-policy-attribute-tentative.https.sub.html new file mode 100644 index 0000000000..b57dfe3dd2 --- /dev/null +++ b/testing/web-platform/tests/clipboard-apis/feature-policy/clipboard-write/clipboard-write-enabled-by-feature-policy-attribute-tentative.https.sub.html @@ -0,0 +1,25 @@ +<!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'; + +promise_test(async t => { + await waitForUserActivation(); + test_feature_availability( + 'navigator.clipboard.writeText("test text")', + t, + same_origin_src, + expect_feature_available_default, + 'clipboard-write' + ); +}, 'Feature policy "clipboard-write" can be enabled in same-origin iframe using allow="clipboard-write" attribute'); +</script> diff --git a/testing/web-platform/tests/clipboard-apis/feature-policy/clipboard-write/clipboard-write-enabled-by-feature-policy-cross-origin-tentative.https.sub.html b/testing/web-platform/tests/clipboard-apis/feature-policy/clipboard-write/clipboard-write-enabled-by-feature-policy-cross-origin-tentative.https.sub.html new file mode 100644 index 0000000000..6e7029cc78 --- /dev/null +++ b/testing/web-platform/tests/clipboard-apis/feature-policy/clipboard-write/clipboard-write-enabled-by-feature-policy-cross-origin-tentative.https.sub.html @@ -0,0 +1,30 @@ +<!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 = + 'https://{{domains[www]}}:{{ports[https][0]}}' + same_origin_src; + +// 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 => { + await waitForUserActivation(); + test_feature_availability( + 'navigator.clipboard.writeText("test text")', + t, + cross_origin_src, + expect_feature_available_default + ); +}, 'Feature-Policy header clipboard-write "*" allows cross-origin iframes.'); +</script> diff --git a/testing/web-platform/tests/clipboard-apis/feature-policy/clipboard-write/clipboard-write-enabled-by-feature-policy-cross-origin.tentative.https.sub.html.headers b/testing/web-platform/tests/clipboard-apis/feature-policy/clipboard-write/clipboard-write-enabled-by-feature-policy-cross-origin.tentative.https.sub.html.headers new file mode 100644 index 0000000000..81b10d8e33 --- /dev/null +++ b/testing/web-platform/tests/clipboard-apis/feature-policy/clipboard-write/clipboard-write-enabled-by-feature-policy-cross-origin.tentative.https.sub.html.headers @@ -0,0 +1 @@ +Feature-Policy: clipboard-write * diff --git a/testing/web-platform/tests/clipboard-apis/feature-policy/clipboard-write/clipboard-write-enabled-by-feature-policy.tentative.https.sub.html b/testing/web-platform/tests/clipboard-apis/feature-policy/clipboard-write/clipboard-write-enabled-by-feature-policy.tentative.https.sub.html new file mode 100644 index 0000000000..ca97994c61 --- /dev/null +++ b/testing/web-platform/tests/clipboard-apis/feature-policy/clipboard-write/clipboard-write-enabled-by-feature-policy.tentative.https.sub.html @@ -0,0 +1,32 @@ +<!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 = + 'https://{{domains[www]}}:{{ports[https][0]}}' + same_origin_src; + +promise_test(async t => { + await test_driver.set_permission({ name: 'clipboard-write' }, 'granted'); + await waitForUserActivation(); + await navigator.clipboard.writeText('test text'); +}, 'Feature-Policy header clipboard-write "*" 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 "*" allows same-origin iframes.'); +</script> diff --git a/testing/web-platform/tests/clipboard-apis/feature-policy/clipboard-write/clipboard-write-enabled-by-feature-policy.tentative.https.sub.html.headers b/testing/web-platform/tests/clipboard-apis/feature-policy/clipboard-write/clipboard-write-enabled-by-feature-policy.tentative.https.sub.html.headers new file mode 100644 index 0000000000..81b10d8e33 --- /dev/null +++ b/testing/web-platform/tests/clipboard-apis/feature-policy/clipboard-write/clipboard-write-enabled-by-feature-policy.tentative.https.sub.html.headers @@ -0,0 +1 @@ +Feature-Policy: clipboard-write * diff --git a/testing/web-platform/tests/clipboard-apis/feature-policy/clipboard-write/clipboard-write-enabled-on-self-origin-by-feature-policy.tentative.https.sub.html b/testing/web-platform/tests/clipboard-apis/feature-policy/clipboard-write/clipboard-write-enabled-on-self-origin-by-feature-policy.tentative.https.sub.html new file mode 100644 index 0000000000..5615a68ac5 --- /dev/null +++ b/testing/web-platform/tests/clipboard-apis/feature-policy/clipboard-write/clipboard-write-enabled-on-self-origin-by-feature-policy.tentative.https.sub.html @@ -0,0 +1,41 @@ +<!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 = + 'https://{{domains[www]}}:{{ports[https][0]}}' + same_origin_src; + +promise_test(async t => { + await test_driver.set_permission({ name: 'clipboard-write' }, 'granted'); + 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> diff --git a/testing/web-platform/tests/clipboard-apis/feature-policy/clipboard-write/clipboard-write-enabled-on-self-origin-by-feature-policy.tentative.https.sub.html.headers b/testing/web-platform/tests/clipboard-apis/feature-policy/clipboard-write/clipboard-write-enabled-on-self-origin-by-feature-policy.tentative.https.sub.html.headers new file mode 100644 index 0000000000..e226f41c6a --- /dev/null +++ b/testing/web-platform/tests/clipboard-apis/feature-policy/clipboard-write/clipboard-write-enabled-on-self-origin-by-feature-policy.tentative.https.sub.html.headers @@ -0,0 +1 @@ +Feature-Policy: clipboard-write 'self' |