Intent to Ship: Captured Surface Control

153 views
Skip to first unread message

Elad Alon

unread,
Mar 20, 2025, 3:42:21 PMMar 20
to blink-dev

Contact emails

elad...@chromium.org, gui...@chromium.org


Explainer

https://github.com/w3c/mediacapture-surface-control/blob/main/README.md


Specification

https://w3c.github.io/mediacapture-surface-control


Design docs

https://docs.google.com/document/d/10UojDvTJ6ojBEOP7cgBIIaE7WZEfes_Qv1eN3A2A0nM/edit?usp=sharing


Summary

A Web API that allows Web applications to:
1. Forward wheel events to a captured tab.
2. Read and change the zoom level of a captured tab.


Blink component

Blink>GetDisplayMedia


TAG review

https://github.com/w3ctag/design-reviews/issues/962


TAG review status

Issues addressed


Origin Trial Name

Captured Surface Control


Chromium Trial Name

CapturedSurfaceControl



WebFeature UseCounter name

kCapturedSurfaceControl


Risks



Interoperability and Compatibility

Gecko: No signal (https://github.com/mozilla/standards-positions/issues/1061) The request for a standards position has no official position. Both on that issue and in the WebRTC WG, Mozilla's representative supported the use case; but of the issues he had filed against the spec, some remain without consensus.


WebKit: No signal (https://github.com/WebKit/standards-positions/issues/388) The request for a standards position has no official position. In the WebRTC WG, Apple's representative supported the use case; but of the issues he had filed against the spec, some remain without consensus.


Web developers: Strongly positive (https://docs.google.com/document/d/1CyKBeo2tGsp_k2HhK6WjDM4dciWEbejUTflKrOVYFvM/edit?usp=sharing)


Security

https://w3c.github.io/mediacapture-surface-control/#privacy-and-security-considerations



WebView application risks

N/A - this feature is built on top of screen-capture, which is not currently supported on mobile platforms.



Debuggability

N/A



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

No

Supported on all desktop platforms. (Screen-sharing is not currently supported on mobile platforms.)



Is this feature fully tested by web-platform-tests?

No. Given the interaction with the user, the browser's own UX, and between the capturing and captured tabs, browser tests produced more meaningful coverage. Substantial coverage of that form exists over multiple unit tests and end-to-end browser tests.


Flag name on about://flags

captured-surface-control


Finch feature name

CapturedDisplaySurface


Tracking bug

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


Launch bug

https://launch.corp.google.com/launch/4268170


Sample links

https://captured-surface-control.glitch.me


Estimated milestones

Origin trial desktop first

122

Origin trial desktop last

127

Origin trial extension 1 end milestone

135

Origin trial extension 2 end milestone

132

Origin trial extension 3 end milestone

129

DevTrial on desktop

122



Anticipated spec changes

Additional gestures (in addition to scrolling) may be supported in the future, if the need is articulated by Web developers, and subject to a separate privacy/security review of those particular gestures.



Link to entry on the Chrome Platform Status

https://chromestatus.com/feature/5092615678066688?gate=5158502187663360


Links to previous Intent discussions

Intent to Prototype: https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAMO6jDPSgR3kX39drHd9t-JvTKBk%2B7Dg03O6dvowzw-LjQ__1A%40mail.gmail.com

Intent to Experiment: https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAOMQ%2Bw-DF_BCtdwiaYqrXsan3YNBfT2pAeboT0f1F9wmViPPWQ%40mail.gmail.com

Intent to Extend Experiment 1: https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAMO6jDN%3DJteucLtF5RU%2Bvx9Fbc_CBifdWzjGjtW1Z5zqhcvqgA%40mail.gmail.com

Intent to Extend Experiment 2: https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAM0wra9vLNpe45swTf1Bgm1ZbH%3DhBt0iAjN_FK49Y%3DznEea3vg%40mail.gmail.com

Intent to Extend Experiment 3: https://groups.google.com/a/chromium.org/g/blink-dev/c/7MbIEBdHMck/m/UBbWTX-hAgAJ



This intent message was generated by Chrome Platform Status.


Domenic Denicola

unread,
Mar 24, 2025, 1:55:32 AMMar 24
to blink-dev, elad...@google.com
Can you expand on these issues that remain open without consensus, and how they might impact interoperability and compatibility risks?

Elad Alon

unread,
Mar 24, 2025, 5:05:50 AMMar 24
to Domenic Denicola, blink-dev

The remaining open issues are:

  1. Whether the API shape should already support gestures other than wheel, or whether such a future extension should only be addressed in the future.

  2. Whether the API should allow concurrent forwarding events from multiple source elements or just a single one.

  3. Whether the API should explicitly limit forwarding to the intersection of the source element and a relevant rendering element, or whether this is up to the user agent.

  4. Whether the API should be exposed on CaptureController, or exposed on HTMLVideoElement and HTMLCanvasElement.


During multiple OT extensions, we have made multiple compromises that have closed other issues. However, when it comes to these 4 issues, our suggested compromise that completely accommodated 1-3, was rejected on the grounds that it does not also fix #4. We do not believe that further progress on these issues is possible at this time.


We are confident that any future changes to this API will be compatible with what we are shipping now.


Alex Russell

unread,
Mar 24, 2025, 2:22:12 PMMar 24
to blink-dev, elad...@google.com, blink-dev, Domenic Denicola
Thanks for all the context, Elad. Evidence from OT is persuasive here. LGTM1.

Domenic Denicola

unread,
Mar 24, 2025, 10:32:06 PMMar 24
to blink-dev, Alex Russell, elad...@google.com, blink-dev, Domenic Denicola
LGTM2, since you are sure future changes will be compatible. And I agree with Alex; the OT feedback is very persuasive that this API serves web developers.

Chris Harrelson

unread,
Mar 25, 2025, 12:35:00 AMMar 25
to Domenic Denicola, blink-dev, Alex Russell, elad...@google.com
LGTM3

--
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 blink-dev+...@chromium.org.
To view this discussion visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/c3a16382-e24a-42c9-9155-4e51905cbad3n%40chromium.org.
Reply all
Reply to author
Forward
0 new messages