summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/clipboard-apis/resources
diff options
context:
space:
mode:
Diffstat (limited to 'testing/web-platform/tests/clipboard-apis/resources')
-rw-r--r--testing/web-platform/tests/clipboard-apis/resources/page.html4
-rw-r--r--testing/web-platform/tests/clipboard-apis/resources/user-activation.js19
2 files changed, 21 insertions, 2 deletions
diff --git a/testing/web-platform/tests/clipboard-apis/resources/page.html b/testing/web-platform/tests/clipboard-apis/resources/page.html
index 35bde8e501..fc8bd895d1 100644
--- a/testing/web-platform/tests/clipboard-apis/resources/page.html
+++ b/testing/web-platform/tests/clipboard-apis/resources/page.html
@@ -9,8 +9,8 @@
window.addEventListener("message", async (e) => {
if (e.data && e.data[0] == "write") {
test_driver.set_test_context(window.parent);
- await test_driver.set_permission({name: 'clipboard-read'}, 'granted');
- await test_driver.set_permission({name: 'clipboard-write'}, 'granted');
+ await tryGrantReadPermission();
+ await tryGrantWritePermission();
await waitForUserActivation();
await navigator.clipboard.write([
new ClipboardItem({
diff --git a/testing/web-platform/tests/clipboard-apis/resources/user-activation.js b/testing/web-platform/tests/clipboard-apis/resources/user-activation.js
index ed294bb9cb..4535f8c6d7 100644
--- a/testing/web-platform/tests/clipboard-apis/resources/user-activation.js
+++ b/testing/web-platform/tests/clipboard-apis/resources/user-activation.js
@@ -23,3 +23,22 @@ async function waitForUserActivation() {
test_driver.click(document.body);
await clickedPromise;
}
+
+async function trySetPermission(perm, state) {
+ try {
+ await test_driver.set_permission({ name: perm }, state)
+ } catch {
+ // This is expected, as clipboard permissions are not supported by every engine
+ // and also the set_permission. The permission is not required by such engines as
+ // they require user activation instead.
+ }
+}
+
+async function tryGrantReadPermission() {
+ await trySetPermission("clipboard-read", "granted");
+}
+
+async function tryGrantWritePermission() {
+ await trySetPermission("clipboard-write", "granted");
+}
+