From def92d1b8e9d373e2f6f27c366d578d97d8960c6 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Wed, 15 May 2024 05:34:50 +0200 Subject: Merging upstream version 126.0. Signed-off-by: Daniel Baumann --- .../tests/clipboard-apis/resources/page.html | 4 ++-- .../tests/clipboard-apis/resources/user-activation.js | 19 +++++++++++++++++++ 2 files changed, 21 insertions(+), 2 deletions(-) (limited to 'testing/web-platform/tests/clipboard-apis/resources') 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"); +} + -- cgit v1.2.3