From 36d22d82aa202bb199967e9512281e9a53db42c9 Mon Sep 17 00:00:00 2001
From: Daniel Baumann
Date: Sun, 7 Apr 2024 21:33:14 +0200
Subject: Adding upstream version 115.7.0esr.
Signed-off-by: Daniel Baumann
---
testing/web-platform/tests/clipboard-apis/META.yml | 3 +
...-custom-formats-write-fail.tentative.https.html | 123 ++++++++++++++++
...mats-write-read-web-prefix.tentative.https.html | 39 ++++++
...te-read-without-web-prefix.tentative.https.html | 39 ++++++
...-custom-formats-write-read.tentative.https.html | 47 +++++++
.../async-html-script-removal.https.html | 60 ++++++++
.../async-navigator-clipboard-basics.https.html | 154 +++++++++++++++++++++
...vigator-clipboard-read-resource-load.https.html | 44 ++++++
...nc-navigator-clipboard-read-sanitize.https.html | 48 +++++++
...ipboard-write-multiple.tentative.https.sub.html | 106 ++++++++++++++
...async-promise-write-blobs-read-blobs.https.html | 46 ++++++
.../async-svg-script-removal.https.html | 61 ++++++++
...ed-html-formats-write-read.tentative.https.html | 74 ++++++++++
...aintext-formats-write-read.tentative.https.html | 52 +++++++
...rd-html-formats-write-read.tentative.https.html | 64 +++++++++
...ed-standard-html-read-fail.tentative.https.html | 46 ++++++
.../async-write-blobs-read-blobs.https.html | 48 +++++++
.../async-write-html-read-html.https.html | 62 +++++++++
.../async-write-image-read-image.https.html | 85 ++++++++++++
.../async-write-svg-read-svg.https.html | 60 ++++++++
.../clipboard-apis/clipboard-events-synthetic.html | 32 +++++
.../clipboard-apis/clipboard-file-manual.html | 87 ++++++++++++
.../tests/clipboard-apis/clipboard-item.https.html | 98 +++++++++++++
.../clipboard-on-detached-iframe.https.html | 26 ++++
.../read-on-detaching-iframe.https.html | 34 +++++
.../write-on-detaching-iframe.https.html | 34 +++++
.../write-read-on-detached-iframe.https.html | 44 ++++++
...riteText-readText-on-detached-iframe.https.html | 40 ++++++
.../tests/clipboard-apis/events/copy-event.html | 33 +++++
.../clipboard-apis/events/cut-event-manual.html | 19 +++
.../clipboard-apis/events/paste-event-manual.html | 21 +++
...bled-by-feature-policy.tentative.https.sub.html | 40 ++++++
...feature-policy.tentative.https.sub.html.headers | 1 +
...attribute-cross-origin-tentative.https.sub.html | 31 +++++
...ature-policy-attribute-tentative.https.sub.html | 25 ++++
...re-policy-cross-origin-tentative.https.sub.html | 30 ++++
...y-cross-origin.tentative.https.sub.html.headers | 1 +
...bled-by-feature-policy.tentative.https.sub.html | 32 +++++
...feature-policy.tentative.https.sub.html.headers | 1 +
...igin-by-feature-policy.tentative.https.sub.html | 45 ++++++
...feature-policy.tentative.https.sub.html.headers | 1 +
...bled-by-feature-policy.tentative.https.sub.html | 40 ++++++
...feature-policy.tentative.https.sub.html.headers | 1 +
...attribute-cross-origin-tentative.https.sub.html | 31 +++++
...ature-policy-attribute-tentative.https.sub.html | 25 ++++
...re-policy-cross-origin-tentative.https.sub.html | 30 ++++
...y-cross-origin.tentative.https.sub.html.headers | 1 +
...bled-by-feature-policy.tentative.https.sub.html | 32 +++++
...feature-policy.tentative.https.sub.html.headers | 1 +
...igin-by-feature-policy.tentative.https.sub.html | 41 ++++++
...feature-policy.tentative.https.sub.html.headers | 1 +
.../clipboard-apis/idlharness.https.window.js | 17 +++
.../permissions/readText-denied.https.html | 20 +++
.../permissions/readText-granted.https.html | 19 +++
.../permissions/writeText-denied.https.html | 20 +++
.../permissions/writeText-granted.https.html | 19 +++
.../tests/clipboard-apis/resources/copied-file.txt | 1 +
.../tests/clipboard-apis/resources/greenbox.png | Bin 0 -> 95 bytes
.../tests/clipboard-apis/resources/page.html | 26 ++++
.../clipboard-apis/resources/user-activation.js | 25 ++++
.../text-write-read/async-write-read.https.html | 41 ++++++
.../async-write-readText.https.html | 33 +++++
.../async-writeText-read.https.html | 37 +++++
.../async-writeText-readText.https.html | 28 ++++
64 files changed, 2425 insertions(+)
create mode 100644 testing/web-platform/tests/clipboard-apis/META.yml
create mode 100644 testing/web-platform/tests/clipboard-apis/async-custom-formats-write-fail.tentative.https.html
create mode 100644 testing/web-platform/tests/clipboard-apis/async-custom-formats-write-read-web-prefix.tentative.https.html
create mode 100644 testing/web-platform/tests/clipboard-apis/async-custom-formats-write-read-without-web-prefix.tentative.https.html
create mode 100644 testing/web-platform/tests/clipboard-apis/async-custom-formats-write-read.tentative.https.html
create mode 100644 testing/web-platform/tests/clipboard-apis/async-html-script-removal.https.html
create mode 100644 testing/web-platform/tests/clipboard-apis/async-navigator-clipboard-basics.https.html
create mode 100644 testing/web-platform/tests/clipboard-apis/async-navigator-clipboard-read-resource-load.https.html
create mode 100644 testing/web-platform/tests/clipboard-apis/async-navigator-clipboard-read-sanitize.https.html
create mode 100644 testing/web-platform/tests/clipboard-apis/async-navigator-clipboard-write-multiple.tentative.https.sub.html
create mode 100644 testing/web-platform/tests/clipboard-apis/async-promise-write-blobs-read-blobs.https.html
create mode 100644 testing/web-platform/tests/clipboard-apis/async-svg-script-removal.https.html
create mode 100644 testing/web-platform/tests/clipboard-apis/async-unsanitized-html-formats-write-read.tentative.https.html
create mode 100644 testing/web-platform/tests/clipboard-apis/async-unsanitized-plaintext-formats-write-read.tentative.https.html
create mode 100644 testing/web-platform/tests/clipboard-apis/async-unsanitized-standard-html-formats-write-read.tentative.https.html
create mode 100644 testing/web-platform/tests/clipboard-apis/async-unsanitized-standard-html-read-fail.tentative.https.html
create mode 100644 testing/web-platform/tests/clipboard-apis/async-write-blobs-read-blobs.https.html
create mode 100644 testing/web-platform/tests/clipboard-apis/async-write-html-read-html.https.html
create mode 100644 testing/web-platform/tests/clipboard-apis/async-write-image-read-image.https.html
create mode 100644 testing/web-platform/tests/clipboard-apis/async-write-svg-read-svg.https.html
create mode 100644 testing/web-platform/tests/clipboard-apis/clipboard-events-synthetic.html
create mode 100644 testing/web-platform/tests/clipboard-apis/clipboard-file-manual.html
create mode 100644 testing/web-platform/tests/clipboard-apis/clipboard-item.https.html
create mode 100644 testing/web-platform/tests/clipboard-apis/detached-iframe/clipboard-on-detached-iframe.https.html
create mode 100644 testing/web-platform/tests/clipboard-apis/detached-iframe/read-on-detaching-iframe.https.html
create mode 100644 testing/web-platform/tests/clipboard-apis/detached-iframe/write-on-detaching-iframe.https.html
create mode 100644 testing/web-platform/tests/clipboard-apis/detached-iframe/write-read-on-detached-iframe.https.html
create mode 100644 testing/web-platform/tests/clipboard-apis/detached-iframe/writeText-readText-on-detached-iframe.https.html
create mode 100644 testing/web-platform/tests/clipboard-apis/events/copy-event.html
create mode 100644 testing/web-platform/tests/clipboard-apis/events/cut-event-manual.html
create mode 100644 testing/web-platform/tests/clipboard-apis/events/paste-event-manual.html
create mode 100644 testing/web-platform/tests/clipboard-apis/feature-policy/clipboard-read/clipboard-read-disabled-by-feature-policy.tentative.https.sub.html
create mode 100644 testing/web-platform/tests/clipboard-apis/feature-policy/clipboard-read/clipboard-read-disabled-by-feature-policy.tentative.https.sub.html.headers
create mode 100644 testing/web-platform/tests/clipboard-apis/feature-policy/clipboard-read/clipboard-read-enabled-by-feature-policy-attribute-cross-origin-tentative.https.sub.html
create mode 100644 testing/web-platform/tests/clipboard-apis/feature-policy/clipboard-read/clipboard-read-enabled-by-feature-policy-attribute-tentative.https.sub.html
create mode 100644 testing/web-platform/tests/clipboard-apis/feature-policy/clipboard-read/clipboard-read-enabled-by-feature-policy-cross-origin-tentative.https.sub.html
create mode 100644 testing/web-platform/tests/clipboard-apis/feature-policy/clipboard-read/clipboard-read-enabled-by-feature-policy-cross-origin.tentative.https.sub.html.headers
create mode 100644 testing/web-platform/tests/clipboard-apis/feature-policy/clipboard-read/clipboard-read-enabled-by-feature-policy.tentative.https.sub.html
create mode 100644 testing/web-platform/tests/clipboard-apis/feature-policy/clipboard-read/clipboard-read-enabled-by-feature-policy.tentative.https.sub.html.headers
create mode 100644 testing/web-platform/tests/clipboard-apis/feature-policy/clipboard-read/clipboard-read-enabled-on-self-origin-by-feature-policy.tentative.https.sub.html
create mode 100644 testing/web-platform/tests/clipboard-apis/feature-policy/clipboard-read/clipboard-read-enabled-on-self-origin-by-feature-policy.tentative.https.sub.html.headers
create mode 100644 testing/web-platform/tests/clipboard-apis/feature-policy/clipboard-write/clipboard-write-disabled-by-feature-policy.tentative.https.sub.html
create mode 100644 testing/web-platform/tests/clipboard-apis/feature-policy/clipboard-write/clipboard-write-disabled-by-feature-policy.tentative.https.sub.html.headers
create mode 100644 testing/web-platform/tests/clipboard-apis/feature-policy/clipboard-write/clipboard-write-enabled-by-feature-policy-attribute-cross-origin-tentative.https.sub.html
create mode 100644 testing/web-platform/tests/clipboard-apis/feature-policy/clipboard-write/clipboard-write-enabled-by-feature-policy-attribute-tentative.https.sub.html
create mode 100644 testing/web-platform/tests/clipboard-apis/feature-policy/clipboard-write/clipboard-write-enabled-by-feature-policy-cross-origin-tentative.https.sub.html
create mode 100644 testing/web-platform/tests/clipboard-apis/feature-policy/clipboard-write/clipboard-write-enabled-by-feature-policy-cross-origin.tentative.https.sub.html.headers
create mode 100644 testing/web-platform/tests/clipboard-apis/feature-policy/clipboard-write/clipboard-write-enabled-by-feature-policy.tentative.https.sub.html
create mode 100644 testing/web-platform/tests/clipboard-apis/feature-policy/clipboard-write/clipboard-write-enabled-by-feature-policy.tentative.https.sub.html.headers
create mode 100644 testing/web-platform/tests/clipboard-apis/feature-policy/clipboard-write/clipboard-write-enabled-on-self-origin-by-feature-policy.tentative.https.sub.html
create mode 100644 testing/web-platform/tests/clipboard-apis/feature-policy/clipboard-write/clipboard-write-enabled-on-self-origin-by-feature-policy.tentative.https.sub.html.headers
create mode 100644 testing/web-platform/tests/clipboard-apis/idlharness.https.window.js
create mode 100644 testing/web-platform/tests/clipboard-apis/permissions/readText-denied.https.html
create mode 100644 testing/web-platform/tests/clipboard-apis/permissions/readText-granted.https.html
create mode 100644 testing/web-platform/tests/clipboard-apis/permissions/writeText-denied.https.html
create mode 100644 testing/web-platform/tests/clipboard-apis/permissions/writeText-granted.https.html
create mode 100644 testing/web-platform/tests/clipboard-apis/resources/copied-file.txt
create mode 100644 testing/web-platform/tests/clipboard-apis/resources/greenbox.png
create mode 100644 testing/web-platform/tests/clipboard-apis/resources/page.html
create mode 100644 testing/web-platform/tests/clipboard-apis/resources/user-activation.js
create mode 100644 testing/web-platform/tests/clipboard-apis/text-write-read/async-write-read.https.html
create mode 100644 testing/web-platform/tests/clipboard-apis/text-write-read/async-write-readText.https.html
create mode 100644 testing/web-platform/tests/clipboard-apis/text-write-read/async-writeText-read.https.html
create mode 100644 testing/web-platform/tests/clipboard-apis/text-write-read/async-writeText-readText.https.html
(limited to 'testing/web-platform/tests/clipboard-apis')
diff --git a/testing/web-platform/tests/clipboard-apis/META.yml b/testing/web-platform/tests/clipboard-apis/META.yml
new file mode 100644
index 0000000000..ecbac54806
--- /dev/null
+++ b/testing/web-platform/tests/clipboard-apis/META.yml
@@ -0,0 +1,3 @@
+spec: https://w3c.github.io/clipboard-apis/
+suggested_reviewers:
+ - garykac
diff --git a/testing/web-platform/tests/clipboard-apis/async-custom-formats-write-fail.tentative.https.html b/testing/web-platform/tests/clipboard-apis/async-custom-formats-write-fail.tentative.https.html
new file mode 100644
index 0000000000..8b1b42ec78
--- /dev/null
+++ b/testing/web-platform/tests/clipboard-apis/async-custom-formats-write-fail.tentative.https.html
@@ -0,0 +1,123 @@
+
+
+Async Clipboard web custom format write validation tests
+
+Body needed for test_driver.click()
+
+
+
+
+
+
diff --git a/testing/web-platform/tests/clipboard-apis/async-custom-formats-write-read-web-prefix.tentative.https.html b/testing/web-platform/tests/clipboard-apis/async-custom-formats-write-read-web-prefix.tentative.https.html
new file mode 100644
index 0000000000..9a6e5da6ff
--- /dev/null
+++ b/testing/web-platform/tests/clipboard-apis/async-custom-formats-write-read-web-prefix.tentative.https.html
@@ -0,0 +1,39 @@
+
+
+Async Clipboard web custom format read/write test.
+
+Body needed for test_driver.click()
+
+
+
+
+
+
diff --git a/testing/web-platform/tests/clipboard-apis/async-custom-formats-write-read-without-web-prefix.tentative.https.html b/testing/web-platform/tests/clipboard-apis/async-custom-formats-write-read-without-web-prefix.tentative.https.html
new file mode 100644
index 0000000000..8b9d4de0a1
--- /dev/null
+++ b/testing/web-platform/tests/clipboard-apis/async-custom-formats-write-read-without-web-prefix.tentative.https.html
@@ -0,0 +1,39 @@
+
+
+Async Clipboard web custom format write using Blob without web prefix test.
+
+Body needed for test_driver.click()
+
+
+
+
+
+
diff --git a/testing/web-platform/tests/clipboard-apis/async-custom-formats-write-read.tentative.https.html b/testing/web-platform/tests/clipboard-apis/async-custom-formats-write-read.tentative.https.html
new file mode 100644
index 0000000000..a005f8c98f
--- /dev/null
+++ b/testing/web-platform/tests/clipboard-apis/async-custom-formats-write-read.tentative.https.html
@@ -0,0 +1,47 @@
+
+
+Async Clipboard custom write -> Async Clipboard custom read test
+
+Body needed for test_driver.click()
+
+
+
+
+
+
diff --git a/testing/web-platform/tests/clipboard-apis/async-html-script-removal.https.html b/testing/web-platform/tests/clipboard-apis/async-html-script-removal.https.html
new file mode 100644
index 0000000000..44c11add85
--- /dev/null
+++ b/testing/web-platform/tests/clipboard-apis/async-html-script-removal.https.html
@@ -0,0 +1,60 @@
+
+
+
+ Async Clipboard write ([text/html ClipboardItem]) -> readHtml (and remove scripts) tests
+
+
+Body needed for test_driver.click()
+
+
+
+
+
+
diff --git a/testing/web-platform/tests/clipboard-apis/async-navigator-clipboard-basics.https.html b/testing/web-platform/tests/clipboard-apis/async-navigator-clipboard-basics.https.html
new file mode 100644
index 0000000000..4a11d5ac66
--- /dev/null
+++ b/testing/web-platform/tests/clipboard-apis/async-navigator-clipboard-basics.https.html
@@ -0,0 +1,154 @@
+
+
+Async Clipboard input type validation tests
+
+Body needed for test_driver.click()
+
+
+
+
+
+
diff --git a/testing/web-platform/tests/clipboard-apis/async-navigator-clipboard-read-resource-load.https.html b/testing/web-platform/tests/clipboard-apis/async-navigator-clipboard-read-resource-load.https.html
new file mode 100644
index 0000000000..d1e3019e7f
--- /dev/null
+++ b/testing/web-platform/tests/clipboard-apis/async-navigator-clipboard-read-resource-load.https.html
@@ -0,0 +1,44 @@
+
+
+Async Clipboard.read() should not trigger resource loading
+
+
+
+
+
+
+
+
+Body needed for test_driver.click()
+
+
+
+
+
diff --git a/testing/web-platform/tests/clipboard-apis/async-navigator-clipboard-read-sanitize.https.html b/testing/web-platform/tests/clipboard-apis/async-navigator-clipboard-read-sanitize.https.html
new file mode 100644
index 0000000000..cc18367534
--- /dev/null
+++ b/testing/web-platform/tests/clipboard-apis/async-navigator-clipboard-read-sanitize.https.html
@@ -0,0 +1,48 @@
+
+
+Async Clipboard.read() should sanitize text/html
+
+
+
+
+
+
+
+
+Body needed for test_driver.click()
+
+
+
+
+
diff --git a/testing/web-platform/tests/clipboard-apis/async-navigator-clipboard-write-multiple.tentative.https.sub.html b/testing/web-platform/tests/clipboard-apis/async-navigator-clipboard-write-multiple.tentative.https.sub.html
new file mode 100644
index 0000000000..73cdd2f049
--- /dev/null
+++ b/testing/web-platform/tests/clipboard-apis/async-navigator-clipboard-write-multiple.tentative.https.sub.html
@@ -0,0 +1,106 @@
+
+
+Async Clipboard write should cancel the prior pending request
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/testing/web-platform/tests/clipboard-apis/async-promise-write-blobs-read-blobs.https.html b/testing/web-platform/tests/clipboard-apis/async-promise-write-blobs-read-blobs.https.html
new file mode 100644
index 0000000000..12184c92e0
--- /dev/null
+++ b/testing/web-platform/tests/clipboard-apis/async-promise-write-blobs-read-blobs.https.html
@@ -0,0 +1,46 @@
+
+
+
+ Async Clipboard write blobs -> read blobs with promise tests
+
+
+Body needed for test_driver.click()
+
+
+
+
+
+
+
diff --git a/testing/web-platform/tests/clipboard-apis/async-svg-script-removal.https.html b/testing/web-platform/tests/clipboard-apis/async-svg-script-removal.https.html
new file mode 100644
index 0000000000..292d100b2f
--- /dev/null
+++ b/testing/web-platform/tests/clipboard-apis/async-svg-script-removal.https.html
@@ -0,0 +1,61 @@
+
+
+
+ Async Clipboard write ([image/svg+xml ClipboardItem]) -> readSvg (and remove scripts) tests
+
+
+Body needed for test_driver.click()
+
+
+
+
+
+
diff --git a/testing/web-platform/tests/clipboard-apis/async-unsanitized-html-formats-write-read.tentative.https.html b/testing/web-platform/tests/clipboard-apis/async-unsanitized-html-formats-write-read.tentative.https.html
new file mode 100644
index 0000000000..46e335c804
--- /dev/null
+++ b/testing/web-platform/tests/clipboard-apis/async-unsanitized-html-formats-write-read.tentative.https.html
@@ -0,0 +1,74 @@
+
+
+Async Clipboard unsanitized HTML write -> Async Clipboard unsanitized HTML read test
+
+Body needed for test_driver.click()
+
+
+
+
+
+
diff --git a/testing/web-platform/tests/clipboard-apis/async-unsanitized-plaintext-formats-write-read.tentative.https.html b/testing/web-platform/tests/clipboard-apis/async-unsanitized-plaintext-formats-write-read.tentative.https.html
new file mode 100644
index 0000000000..1c5638ca0a
--- /dev/null
+++ b/testing/web-platform/tests/clipboard-apis/async-unsanitized-plaintext-formats-write-read.tentative.https.html
@@ -0,0 +1,52 @@
+
+
+Async Clipboard unsanitized write -> Async Clipboard unsanitized read test
+
+Body needed for test_driver.click()
+
+
+
+
+
+
diff --git a/testing/web-platform/tests/clipboard-apis/async-unsanitized-standard-html-formats-write-read.tentative.https.html b/testing/web-platform/tests/clipboard-apis/async-unsanitized-standard-html-formats-write-read.tentative.https.html
new file mode 100644
index 0000000000..f6313c1b90
--- /dev/null
+++ b/testing/web-platform/tests/clipboard-apis/async-unsanitized-standard-html-formats-write-read.tentative.https.html
@@ -0,0 +1,64 @@
+
+
+Async Clipboard unsanitized HTML write -> Async Clipboard unsanitized HTML read test
+
+Body needed for test_driver.click()
+
+
+
+
+
+
diff --git a/testing/web-platform/tests/clipboard-apis/async-unsanitized-standard-html-read-fail.tentative.https.html b/testing/web-platform/tests/clipboard-apis/async-unsanitized-standard-html-read-fail.tentative.https.html
new file mode 100644
index 0000000000..e7ddbb0cdf
--- /dev/null
+++ b/testing/web-platform/tests/clipboard-apis/async-unsanitized-standard-html-read-fail.tentative.https.html
@@ -0,0 +1,46 @@
+
+
+Async Clipboard unsanitized HTML read validation tests
+
+Body needed for test_driver.click()
+
+
+
+
+
+
\ No newline at end of file
diff --git a/testing/web-platform/tests/clipboard-apis/async-write-blobs-read-blobs.https.html b/testing/web-platform/tests/clipboard-apis/async-write-blobs-read-blobs.https.html
new file mode 100644
index 0000000000..8bec558b2b
--- /dev/null
+++ b/testing/web-platform/tests/clipboard-apis/async-write-blobs-read-blobs.https.html
@@ -0,0 +1,48 @@
+
+
+
+ Async Clipboard write blobs -> read blobs tests
+
+
+Body needed for test_driver.click()
+
+
+
+
+
+
+
diff --git a/testing/web-platform/tests/clipboard-apis/async-write-html-read-html.https.html b/testing/web-platform/tests/clipboard-apis/async-write-html-read-html.https.html
new file mode 100644
index 0000000000..ec1817c027
--- /dev/null
+++ b/testing/web-platform/tests/clipboard-apis/async-write-html-read-html.https.html
@@ -0,0 +1,62 @@
+
+
+
+ Async Clipboard write ([text/html ClipboardItem]) -> readHtml tests
+
+
+Body needed for test_driver.click()
+
+
+
+
+
+
diff --git a/testing/web-platform/tests/clipboard-apis/async-write-image-read-image.https.html b/testing/web-platform/tests/clipboard-apis/async-write-image-read-image.https.html
new file mode 100644
index 0000000000..e10b69d824
--- /dev/null
+++ b/testing/web-platform/tests/clipboard-apis/async-write-image-read-image.https.html
@@ -0,0 +1,85 @@
+
+
+
+ Async Clipboard write [image/png ClipboardItem] ->
+ read [image/png ClipboardItem] tests
+
+
+
+
+
+
+
+Body needed for test_driver.click()
+
+
The bottom image should display the same image as the top image.
+ Original Image:
+
+ Image after copy/paste:
+
+
+
+
+
+
diff --git a/testing/web-platform/tests/clipboard-apis/async-write-svg-read-svg.https.html b/testing/web-platform/tests/clipboard-apis/async-write-svg-read-svg.https.html
new file mode 100644
index 0000000000..42f6c547b2
--- /dev/null
+++ b/testing/web-platform/tests/clipboard-apis/async-write-svg-read-svg.https.html
@@ -0,0 +1,60 @@
+
+
+
+ Async Clipboard write ([image/svg+xml ClipboardItem]) -> read and write svg tests
+
+
+Body needed for test_driver.click()
+
+
+
+
+
+
diff --git a/testing/web-platform/tests/clipboard-apis/clipboard-events-synthetic.html b/testing/web-platform/tests/clipboard-apis/clipboard-events-synthetic.html
new file mode 100644
index 0000000000..8786829752
--- /dev/null
+++ b/testing/web-platform/tests/clipboard-apis/clipboard-events-synthetic.html
@@ -0,0 +1,32 @@
+
+synthetic clipboard events should not be composed
+
+
+
+
+
+
+
diff --git a/testing/web-platform/tests/clipboard-apis/clipboard-file-manual.html b/testing/web-platform/tests/clipboard-apis/clipboard-file-manual.html
new file mode 100644
index 0000000000..e934f2fd0d
--- /dev/null
+++ b/testing/web-platform/tests/clipboard-apis/clipboard-file-manual.html
@@ -0,0 +1,87 @@
+
+
+Clipboard: DataTransfer File manual test
+
+
+
+
+
+ Please download this file,
+ and copy and paste it into the box below.
+
+
+
+
+
diff --git a/testing/web-platform/tests/clipboard-apis/clipboard-item.https.html b/testing/web-platform/tests/clipboard-apis/clipboard-item.https.html
new file mode 100644
index 0000000000..9ed6f583bd
--- /dev/null
+++ b/testing/web-platform/tests/clipboard-apis/clipboard-item.https.html
@@ -0,0 +1,98 @@
+
+
+ClipboardItem tests
+
+
+
+
diff --git a/testing/web-platform/tests/clipboard-apis/detached-iframe/clipboard-on-detached-iframe.https.html b/testing/web-platform/tests/clipboard-apis/detached-iframe/clipboard-on-detached-iframe.https.html
new file mode 100644
index 0000000000..5eb58e3213
--- /dev/null
+++ b/testing/web-platform/tests/clipboard-apis/detached-iframe/clipboard-on-detached-iframe.https.html
@@ -0,0 +1,26 @@
+
+
+Clipboard API on detached iframe
+
+
+
+
+
+
diff --git a/testing/web-platform/tests/clipboard-apis/detached-iframe/read-on-detaching-iframe.https.html b/testing/web-platform/tests/clipboard-apis/detached-iframe/read-on-detaching-iframe.https.html
new file mode 100644
index 0000000000..8e8e015aa0
--- /dev/null
+++ b/testing/web-platform/tests/clipboard-apis/detached-iframe/read-on-detaching-iframe.https.html
@@ -0,0 +1,34 @@
+
+
+navigator.clipboard read on detaching iframe
+
+
+
+
+
+
+
diff --git a/testing/web-platform/tests/clipboard-apis/detached-iframe/write-on-detaching-iframe.https.html b/testing/web-platform/tests/clipboard-apis/detached-iframe/write-on-detaching-iframe.https.html
new file mode 100644
index 0000000000..c6913d9e9f
--- /dev/null
+++ b/testing/web-platform/tests/clipboard-apis/detached-iframe/write-on-detaching-iframe.https.html
@@ -0,0 +1,34 @@
+
+
+navigator.clipboard write on detaching iframe
+
+
+
+
+
+
+
diff --git a/testing/web-platform/tests/clipboard-apis/detached-iframe/write-read-on-detached-iframe.https.html b/testing/web-platform/tests/clipboard-apis/detached-iframe/write-read-on-detached-iframe.https.html
new file mode 100644
index 0000000000..b21e6b20bc
--- /dev/null
+++ b/testing/web-platform/tests/clipboard-apis/detached-iframe/write-read-on-detached-iframe.https.html
@@ -0,0 +1,44 @@
+
+
+navigator.clipboard read and write on detached iframe
+
+
+
+
+
+
+
+
diff --git a/testing/web-platform/tests/clipboard-apis/detached-iframe/writeText-readText-on-detached-iframe.https.html b/testing/web-platform/tests/clipboard-apis/detached-iframe/writeText-readText-on-detached-iframe.https.html
new file mode 100644
index 0000000000..24fa586fc7
--- /dev/null
+++ b/testing/web-platform/tests/clipboard-apis/detached-iframe/writeText-readText-on-detached-iframe.https.html
@@ -0,0 +1,40 @@
+
+
+navigator.clipboard readText and writeText on detached iframe
+
+
+
+
+
+
+
+
diff --git a/testing/web-platform/tests/clipboard-apis/events/copy-event.html b/testing/web-platform/tests/clipboard-apis/events/copy-event.html
new file mode 100644
index 0000000000..c8c0593a98
--- /dev/null
+++ b/testing/web-platform/tests/clipboard-apis/events/copy-event.html
@@ -0,0 +1,33 @@
+
+The copy event
+
+
+
+
+
+
+
+
+
+
diff --git a/testing/web-platform/tests/clipboard-apis/events/cut-event-manual.html b/testing/web-platform/tests/clipboard-apis/events/cut-event-manual.html
new file mode 100644
index 0000000000..72c11ec3b9
--- /dev/null
+++ b/testing/web-platform/tests/clipboard-apis/events/cut-event-manual.html
@@ -0,0 +1,19 @@
+
+The cut event
+
+
+
+
+
+
diff --git a/testing/web-platform/tests/clipboard-apis/events/paste-event-manual.html b/testing/web-platform/tests/clipboard-apis/events/paste-event-manual.html
new file mode 100644
index 0000000000..608a0d6f23
--- /dev/null
+++ b/testing/web-platform/tests/clipboard-apis/events/paste-event-manual.html
@@ -0,0 +1,21 @@
+
+The paste event
+
+
+
+
+
+Some pre-selected text to copy for convenience
+
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 @@
+
+
+
+
+
+
+
+
+
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 @@
+
+Body needed for test_driver.click()
+
+
+
+
+
+
+
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 @@
+
+Body needed for test_driver.click()
+
+
+
+
+
+
+
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 @@
+
+Body needed for test_driver.click()
+
+
+
+
+
+
+
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 @@
+
+Body needed for test_driver.click()
+
+
+
+
+
+
+
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 @@
+
+Body needed for test_driver.click()
+
+
+
+
+
+
+
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 @@
+
+
+
+
+
+
+
+
+
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 @@
+
+Body needed for test_driver.click()
+
+
+
+
+
+
+
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 @@
+
+Body needed for test_driver.click()
+
+
+
+
+
+
+
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 @@
+
+Body needed for test_driver.click()
+
+
+
+
+
+
+
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 @@
+
+Body needed for test_driver.click()
+
+
+
+
+
+
+
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 @@
+
+Body needed for test_driver.click()
+
+
+
+
+
+
+
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'
diff --git a/testing/web-platform/tests/clipboard-apis/idlharness.https.window.js b/testing/web-platform/tests/clipboard-apis/idlharness.https.window.js
new file mode 100644
index 0000000000..c22ee24544
--- /dev/null
+++ b/testing/web-platform/tests/clipboard-apis/idlharness.https.window.js
@@ -0,0 +1,17 @@
+// META: timeout=long
+// META: script=/resources/WebIDLParser.js
+// META: script=/resources/idlharness.js
+
+'use strict';
+
+idl_test(
+ ['clipboard-apis'],
+ ['dom', 'html', 'permissions'],
+ idl_array => {
+ idl_array.add_objects({
+ Navigator: ['navigator'],
+ Clipboard: ['navigator.clipboard'],
+ ClipboardEvent: ['new ClipboardEvent("x")'],
+ });
+ }
+);
diff --git a/testing/web-platform/tests/clipboard-apis/permissions/readText-denied.https.html b/testing/web-platform/tests/clipboard-apis/permissions/readText-denied.https.html
new file mode 100644
index 0000000000..010f4ba21b
--- /dev/null
+++ b/testing/web-platform/tests/clipboard-apis/permissions/readText-denied.https.html
@@ -0,0 +1,20 @@
+
+
+navigator.clipboard.readText() fails when permission denied
+
+Body needed for test_driver.click()
+
+
+
+
+
+
diff --git a/testing/web-platform/tests/clipboard-apis/permissions/readText-granted.https.html b/testing/web-platform/tests/clipboard-apis/permissions/readText-granted.https.html
new file mode 100644
index 0000000000..e912bd64a8
--- /dev/null
+++ b/testing/web-platform/tests/clipboard-apis/permissions/readText-granted.https.html
@@ -0,0 +1,19 @@
+
+
+navigator.clipboard.readText() succeeds when permission granted
+
+Body needed for test_driver.click()
+
+
+
+
+
+
\ No newline at end of file
diff --git a/testing/web-platform/tests/clipboard-apis/permissions/writeText-denied.https.html b/testing/web-platform/tests/clipboard-apis/permissions/writeText-denied.https.html
new file mode 100644
index 0000000000..5fbcab4117
--- /dev/null
+++ b/testing/web-platform/tests/clipboard-apis/permissions/writeText-denied.https.html
@@ -0,0 +1,20 @@
+
+
+navigator.clipboard.writeText() fails when permission denied
+
+Body needed for test_driver.click()
+
+
+
+
+
+
diff --git a/testing/web-platform/tests/clipboard-apis/permissions/writeText-granted.https.html b/testing/web-platform/tests/clipboard-apis/permissions/writeText-granted.https.html
new file mode 100644
index 0000000000..ff347b7add
--- /dev/null
+++ b/testing/web-platform/tests/clipboard-apis/permissions/writeText-granted.https.html
@@ -0,0 +1,19 @@
+
+
+navigator.clipboard.writeText() succeeds when permission granted
+
+Body needed for test_driver.click()
+
+
+
+
+
+
\ No newline at end of file
diff --git a/testing/web-platform/tests/clipboard-apis/resources/copied-file.txt b/testing/web-platform/tests/clipboard-apis/resources/copied-file.txt
new file mode 100644
index 0000000000..56a2838b7d
--- /dev/null
+++ b/testing/web-platform/tests/clipboard-apis/resources/copied-file.txt
@@ -0,0 +1 @@
+copied-file-contents
diff --git a/testing/web-platform/tests/clipboard-apis/resources/greenbox.png b/testing/web-platform/tests/clipboard-apis/resources/greenbox.png
new file mode 100644
index 0000000000..6e555e3b19
Binary files /dev/null and b/testing/web-platform/tests/clipboard-apis/resources/greenbox.png differ
diff --git a/testing/web-platform/tests/clipboard-apis/resources/page.html b/testing/web-platform/tests/clipboard-apis/resources/page.html
new file mode 100644
index 0000000000..35bde8e501
--- /dev/null
+++ b/testing/web-platform/tests/clipboard-apis/resources/page.html
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+