Contact emails
[email protected], [email protected], [email protected]


Explainer
https://github.com/MicrosoftEdge/MSEdgeExplainers/blob/main/ClipboardAPI/ClipboardChangeEvent/clipboard-change-event-explainer.md


Specification
https://github.com/w3c/clipboard-apis/pull/239


Summary
The "clipboardchange" event fires whenever the system clipboard contents are 
changed either by a web app or any other system application. This allows 
web-apps like remote desktop clients to keep their clipboards synchronized with 
the system clipboard. It provides an efficient alternative to polling the 
clipboard(using Javascript) for changes.


Blink component
Blink>DataTransfer


Web Feature ID
clipboardchange


Motivation
Today, a web-app can monitor the system clipboard by polling and reading the 
clipboard through async clipboard API at regular intervals. For example, web 
based remote desktop clients like Chrome Remote desktop may read the clipboard 
contents for changes on every page focus event which is inefficient. Some 
Github links also suggests polling of clipboard being performed in Electron JS 
apps like 
(https://gist.github.com/LewdEwe-ErikWallace/d6e36f899a77a4f05e46388c254d014f). 
This feature aims to introduce an efficient way of notifying web apps when 
clipboard changes.


Initial public proposal
https://github.com/WICG/proposals/issues/186


Search tags
clipboard change event, clipboardchange, clipboard monitor


TAG review
https://github.com/w3ctag/design-reviews/issues/1017


TAG review status
Issues addressed


Origin Trial Name
Clipboardchange event


Chromium Trial Name
ClipboardChangeEvent


Origin Trial documentation link
https://github.com/MicrosoftEdge/MSEdgeExplainers/blob/main/ClipboardAPI/ClipboardChangeEvent/README.md


WebFeature UseCounter name
kClipboardChangeEventAddListener


Risks




Interoperability and Compatibility
No information provided

Gecko: No signal (https://github.com/mozilla/standards-positions/issues/1115)

WebKit: No signal (https://github.com/WebKit/standards-positions/issues/429)

Web developers: Positive 34+ upvotes in the associated Chromium bug indicates 
strong interest. Issues like following also indicate a strong developer 
interest: - 
https://stackoverflow.com/questions/63856050/javascript-how-can-i-have-a-constantly-running-process-for-the-purpose-of-monit
 - https://github.com/p0deje/Maccy/issues/948

Other signals:


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?
No information provided



Debuggability
To improve debuggability, developers should be able to set breakpoints directly 
in their code where the clipboardchange event listener is registered, using the 
Sources tool as with any other event. Additionally, clipboardchange will be 
available alongside other clipboard-related events—such as copy, cut, and 
paste—in the “Clipboard” section of Event Listener Breakpoints within the 
Sources tool.


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


Is this feature fully tested by web-platform-tests?
Yes
https://wpt.fyi/results/clipboard-apis/async-navigator-clipboard-change-event.tentative.https.html


DevTrial instructions
https://developer.chrome.com/blog/clipboardchange


Flag name on about://flags
ClipboardChangeEvent


Finch feature name
ClipboardChangeEvent


Rollout plan
Will ship enabled for all users


Requires code in //chrome?
False


Tracking bug
https://issues.chromium.org/issues/41442253


Estimated milestones


Shipping on desktop 143

Origin trial desktop first 140

Origin trial desktop last 142

Shipping on Android 143

Origin trial Android first 140

Origin trial Android last 142

Origin trial WebView first 140

Origin trial WebView last 142




Anticipated spec changes

Open questions about a feature may be a source of future web compat or interop 
issues. Please list open issues (eg links to known github issues in the project 
for the feature specification) whose resolution may introduce web 
compat/interop risk (eg, changing to naming or structure of the API in a 
non-backward-compatible way).
No information provided


Link to entry on the Chrome Platform Status
https://chromestatus.com/feature/5085102657503232?gate=5067234201042944


Links to previous Intent discussions
Intent to Prototype: 
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/67454fad.2b0a0220.19a388.0284.GAE%40google.com
Intent to Experiment: 
https://groups.google.com/a/chromium.org/g/blink-dev/c/JQb0t_esk1k/m/WnqkGA2pCQAJ



This intent message was generated by Chrome Platform Status.

-- 
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 visit 
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/68f89056.050a0220.39dfc1.1293.GAE%40google.com.

Reply via email to