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.
