In about a week, my intern will be starting. As an initial project, I
intend for her to implement the Async Clipboard API.
Summary: The Async Clipboard API provides a more modern and performant
interface to the user's clipboard. This API is intended to replace many
consumers of the existing `document.execCommand("copy"/"cut")`.
Link to standard: https://w3c.github.io/clipboard-apis/#async-clipboard-api
Platform coverage: All
Estimated or target release: Firefox 63 (estimated)
Preference behind which this will be implemented:
The full `write`/`read` APIs will be exposed to the web behind an
preference of 'dom.events.asyncClipboard.dataTransfer', so we can ship
the text APIs separately.
DevTools bug: N/A
Do other browser engines implement this?
Chrome: Shipped (since version 66)
Edge, Safari: Public Support (according to
web-platform-tests: A test for this API has already been created by the
chrome team (
Secure Contexts Only: Yes, this API will only be exposed to secure contexts.
Security & Privacy Concerns: This API exposes no new capabilities to the
web platform. Instead, it provides a more performant and ergonomic API to
replace most users of `execCommand("copy"/"cut")`. -- We do not intend to
expose the ability to read from the clipboard (the Clipboard.read and
Clipboard.readText APIs) to the web at this time. These APIs will only be
usable by extensions which have requested the appropriate permissions. --
Exposing `Clipboard.write` (the full DataTransfer API) to the web will also
occur behind a separate preference.