Contact emails

[email protected], [email protected], [email protected], 
[email protected]

Explainer

https://docs.google.com/document/d/1OLVOESy3zecxY_6jMKdKVxeIGS2Q6mDmzc85rUNrRIE/edit?usp=sharing

Specification

https://w3c.github.io/clipboard-apis/#dom-clipboard-read

Design docs
https://github.com/w3c/clipboard-apis/issues/179
https://docs.google.com/document/d/1OLVOESy3zecxY_6jMKdKVxeIGS2Q6mDmzc85rUNrRIE/edit?usp=sharing

Summary

When the system clipboard is either empty or has unsupported formats, paste 
event returns an empty DataTransfer object, but the promise for 
`navigator.clipboard.read()`API is rejected. This creates interop differences 
and confusion among web developers as they aren’t sure why read failed.


Currently in Chrome, we throw a DataError. The proposal here is to return an 
empty ClipboardItem when the system clipboard is either empty or there aren’t 
any supported formats.

Blink component

Blink>DataTransfer<https://bugs.chromium.org/p/chromium/issues/list?q=component:Blink%3EDataTransfer>

Search tags

AsyncClipboardAPI<https://chromestatus.com/features#tags:AsyncClipboardAPI>, 
ClipboardItem<https://chromestatus.com/features#tags:ClipboardItem>

TAG review

None

TAG review status

Not applicable

It satisfies one of the criterias for 
exception<https://www.chromium.org/blink/guidelines/api-owners/process-exceptions/>.
 This change has already been shipped in 
Safari<https://github.com/w3c/clipboard-apis/issues/179#issuecomment-1804303784>
 and Firefox has also implemented 
it<http://(https://github.com/w3c/clipboard-apis/issues/179#issuecomment-1211995581>.
 The spec already allows empty ClipboardItem during read so it doesn’t need any 
update.


Risks


Interoperability and Compatibility

None. Safari has shipped this feature and Firefox has already implemented it.


Gecko: Positive 
(https://github.com/w3c/clipboard-apis/issues/179#issuecomment-1211995581)


WebKit: Shipped/Shipping 
(https://github.com/w3c/clipboard-apis/issues/179#issuecomment-1804303784)


Web developers: Positive This was a feedback from our partners at Office who 
are migrating from DataTransfer API to Async Clipboard API.


Other signals:

Ergonomics

N/A

Activation

N/A


Security

None. The proposal only returns an empty ClipboardItem instead of rejecting the 
promise returned from the read() method when the clipboard is empty, so there 
isn’t any impact on the async clipboard API.

WebView application risks

Does this intent deprecate or change behavior of existing APIs, such that it 
has potentially high risk for Android WebView-based applications?

None


Debuggability

Existing devtools support should suffice.

Will this feature be supported on all six Blink platforms (Windows, Mac, Linux, 
Chrome OS, Android, and Android WebView)?

Yes

Is this feature fully tested by 
web-platform-tests<https://chromium.googlesource.com/chromium/src/+/main/docs/testing/web_platform_tests.md>?

No

Currently emptying the clipboard is not exposed to the web, so it's not 
possible to add a WPT test for it.

Flag name on chrome://flags

None

Finch feature name

None

Non-finch justification

None

Requires code in //chrome?

False

Tracking bug

https://bugs.chromium.org/p/chromium/issues/detail?id=1500440

Sample links


https://flash-lateral-nylon.glitch.me<https://flash-lateral-nylon.glitch.me/>

Estimated milestones

Shipping on desktop

121


Shipping on Android

121


Link to entry on the Chrome Platform Status

https://chromestatus.com/feature/5192271976988672


This intent message was generated by Chrome Platform 
Status<https://chromestatus.com/>.



Thanks,
Anupam

Sent from Outlook<http://aka.ms/weboutlook>

-- 
You received this message because you are subscribed to the Google Groups 
"blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/SA2PR00MB0985AFBC7DD255DDD628F6A9CFBBA%40SA2PR00MB0985.namprd00.prod.outlook.com.

Reply via email to