From 8e556be80083d4b97751fb657247394b4c6200f8 Mon Sep 17 00:00:00 2001 From: Marco Castelluccio Date: Wed, 8 Nov 2023 15:55:31 +0000 Subject: [PATCH] Bug 1860922 [wpt PR 41993] - [Async Clipboard API] Add supports method to async clipboard API., a=testonly Automatic update from web-platform-tests [Async Clipboard API] Add supports method to async clipboard API. In this change we are adding a new static method `supports` to the ClipboardItem interface to help web authors detect clipboard format types that are supported by Chromium. Github Issue: https://github.com/w3c/clipboard-apis/issues/170 Spec: https://github.com/w3c/clipboard-apis/pull/192 https://github.com/w3c/clipboard-apis/pull/195 I2S: https://groups.google.com/a/chromium.org/g/blink-dev/c/pjpN9Lwv5Tk/m/KrAZRbdwAQAJ?utm_medium=email&utm_source=footer&pli=1 Bug: 1483026, 1490635 Change-Id: Ief7c0786833548d2fb51215cefbc39e5930af875 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4865377 Reviewed-by: Kent Tamura Commit-Queue: Anupam Snigdha Reviewed-by: Evan Stade Cr-Commit-Position: refs/heads/main{#1214477} -- wpt-commits: d1bd5741a6ec790fbec6e6d69158178d26f65269 wpt-pr: 41993 UltraBlame original commit: 1603ba63e55624bd159b523ea1c7430df469e647 --- .../tests/clipboard-apis/clipboard-item.https.html | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/testing/web-platform/tests/clipboard-apis/clipboard-item.https.html b/testing/web-platform/tests/clipboard-apis/clipboard-item.https.html index 9ed6f583bde5..b50a1c97d746 100644 --- a/testing/web-platform/tests/clipboard-apis/clipboard-item.https.html +++ b/testing/web-platform/tests/clipboard-apis/clipboard-item.https.html @@ -95,4 +95,18 @@ const text = await (new Response(blob)).text(); assert_equals(text, 'xxx'); }, "getType(DOMString invalid type) converts DOMString to Blob"); + +promise_test(async () => { + assert_true(ClipboardItem.supports('text/plain')); + assert_true(ClipboardItem.supports('text/html')); + assert_true(ClipboardItem.supports('image/png')); + assert_false(ClipboardItem.supports('web ')); + assert_false(ClipboardItem.supports('web')); // without space. + assert_false(ClipboardItem.supports('web foo')); + assert_false(ClipboardItem.supports('foo/bar')); + assert_true(ClipboardItem.supports('web foo/bar')); + assert_true(ClipboardItem.supports('web text/html')); + assert_false(ClipboardItem.supports('image/svg+xml')); + assert_false(ClipboardItem.supports('not a/real type')); +}, "supports(DOMString) returns true for types that are supported, false otherwise");