Intent to Implement and Ship: DisplayMediaStreamOptions monitorTypeSurfaces

75 views
Skip to first unread message

François Beaufort

unread,
Sep 1, 2023, 9:09:44 AM9/1/23
to blink-dev, Elad Alon

Contact emails

fbea...@google.com

elad...@google.com


Explainer

https://github.com/eladalon1983/screen-share-explainers/blob/main/monitorTypeSurfaces_Explainer.md


Specification

https://w3c.github.io/mediacapture-screen-share/#dom-displaymediastreamoptions-monitortypesurfaces


Summary

When getDisplayMedia() is called, the browser offers the user a choice of display surfaces: tabs, windows, or monitors. Using the monitorTypeSurfaces option, the web application may now hint to the browser if it prefers to include display surfaces whose type is monitor among the choices offered to the user.


Blink component

Blink>GetDisplayMedia


TAG review

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


TAG review status

Pending


Risks


Interoperability and Compatibility

None


Gecko: No signal (https://github.com/mozilla/standards-positions/issues/876) Jan-Ivar Bruaroey from Mozilla has reviewed and approved https://github.com/w3c/mediacapture-screen-share/pull/274.


WebKit: No signal (https://github.com/WebKit/standards-positions/issues/248) Youenn Fablet from Apple has participated in https://www.w3.org/2023/06/27-webrtc-minutes.html#t04 and https://github.com/w3c/mediacapture-screen-share/issues/261#issuecomment-1693090386.


Web developers: Positive Cisco folks have expressed interest in this feature. https://github.com/screen-share/meetings/blob/main/minutes/2023-03-21.md?plain=1#L161


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?

None



Debuggability

None


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

Supported on all platforms that support getDisplayMedia. Namely, all desktop platforms.


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

Yes. See https://wpt.fyi/results/screen-capture/getdisplaymedia.https.html


Flag name on chrome://flags

None


Finch feature name

MonitorTypeSurfaces


Requires code in //chrome?

Yes. In chrome/browser/media/webrtc/display_media_access_handler.cc


Tracking bug

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


Estimated milestones

Shipping on desktop

119


Anticipated spec changes

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

None


Link to entry on the Chrome Platform Status

https://chromestatus.com/feature/5558622137876480


This intent message was generated by Chrome Platform Status.


François Beaufort

unread,
Sep 6, 2023, 11:41:25 AM9/6/23
to blink-dev, Elad Alon
On Fri, Sep 1, 2023 at 3:09 PM François Beaufort <fbea...@google.com> wrote:

Contact emails

fbea...@google.com

elad...@google.com


Explainer

https://github.com/eladalon1983/screen-share-explainers/blob/main/monitorTypeSurfaces_Explainer.md


Specification

https://w3c.github.io/mediacapture-screen-share/#dom-displaymediastreamoptions-monitortypesurfaces


Summary

When getDisplayMedia() is called, the browser offers the user a choice of display surfaces: tabs, windows, or monitors. Using the monitorTypeSurfaces option, the web application may now hint to the browser if it prefers to include display surfaces whose type is monitor among the choices offered to the user.


Blink component

Blink>GetDisplayMedia


TAG review

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


TAG review status

Pending


FYI this feature is a simple addition of a single flag to an existing dictionary, following an established pattern that’s also used by a few other keys of the same dictionary (selfBrowserSurface, systemAudio, surfaceSwitching). well-known patterns.
We already filed a TAG review for similar options at https://github.com/w3ctag/design-reviews/issues/744 which was marked as satisfied.

Yoav Weiss

unread,
Sep 6, 2023, 12:02:26 PM9/6/23
to François Beaufort, blink-dev, Elad Alon
LGTM1 to ship, while keeping an eye out for TAG feedback, in case it'd be surprising and not match past feedback in the same vein.

--
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 on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAPpwU5LwRya212ep0m1_YJJbfMQPJ4ZqxuuM3FFLJzzKgzuoZQ%40mail.gmail.com.

Mike Taylor

unread,
Sep 6, 2023, 12:51:32 PM9/6/23
to Yoav Weiss, François Beaufort, blink-dev, Elad Alon

Chris Harrelson

unread,
Sep 6, 2023, 12:54:45 PM9/6/23
to Mike Taylor, Yoav Weiss, François Beaufort, blink-dev, Elad Alon
Reply all
Reply to author
Forward
0 new messages