LGTM2
On 11/13/24 11:16 AM, Chris Harrelson wrote:
LGTM1
On Tue, Nov 12, 2024 at 1:32 AM 'Elad Alon' via blink-dev
<blink-dev@chromium.org> wrote:
How quickly and widely getViewportMedia() is adopted depends in
large part on the adoption of cross-origin isolation by Web
developers.
Once cross-origin isolation enjoys wide adoption, I see no
blockers to deprecating EC-over-gDM in favor of EC-over-gVM.
On Monday, November 11, 2024 at 7:49:04 PM UTC+1
dan...@microsoft.com wrote:
Do you have a rough idea of how long do we expect to be in
this intermediate state where Element Capture is available
with getDisplayMedia() rather than getViewportMedia()?
Presumably the longer that lasts the harder it will be to
remove the getDisplayMedia() way of doing it once
getViewPortMedia() is available.
-- Dan
*From:*'Elad Alon' via blink-dev <blin...@chromium.org>
*Sent:* Monday, November 11, 2024 1:22 AM
*To:* blink-dev <blin...@chromium.org>
*Subject:* [EXTERNAL] [blink-dev] Intent to Ship: Element Capture
Contact emails
elad...@chromium.org
Explainer
https://github.com/screen-share/element-capture/blob/main/README.md
<https://github.com/screen-share/element-capture/blob/main/README.md>
Specification
https://screen-share.github.io/element-capture
<https://screen-share.github.io/element-capture>
Summary
API for capturing a subtree of the DOM.
Given a video MediaStreamTrack obtained through pre-existing
means to initiate tab-capture, Element Capture allows mutating
the track to only capture a subtree of the DOM starting at a
given Element.
The API bears some resemblance to the Region Capture API, but
affords greater flexibility for applications, because
occluding and occluded content are both excluded from the capture.
Blink component
Blink>GetDisplayMedia
<https://bugs.chromium.org/p/chromium/issues/list?q=component:Blink%3EGetDisplayMedia>
TAG review
https://github.com/w3ctag/design-reviews/issues/954
<https://github.com/w3ctag/design-reviews/issues/954>
TAG review status
Issues addressed
Chromium Trial Name
ElementCapture
Origin Trial documentation link
https://github.com/screen-share/element-capture/blob/main/README.md
<https://github.com/screen-share/element-capture/blob/main/README.md>
WebFeature UseCounter name
kElementCapture
Risks
Interoperability and Compatibility
1. Other browser vendors have not indicated an
intention to implement and ship this feature; however,
we are working with them to ensure that our own
implementation would most closely align with their own
vision; see details in “Anticipated spec changes” below.
2. There is no compatibility risk because this is a
completely new feature.
/Gecko/:
https://github.com/mozilla/standards-positions/issues/857
<https://github.com/mozilla/standards-positions/issues/857>
Currently marked as negative, but discussions in the joint
SCCG – WebRTC WG meeting during TPAC 2024 (minutes
<https://github.com/screen-share/meetings/blob/main/minutes/2024-09-24%20(TPAC%202024%2C%20joint%20with%20WebRTC%20WG).md#element-capture-elad-alon>),
indicate that Mozilla’s position is likely to change if we
only allow track.restrictTo() on tracks derived by
getViewportMedia(). We intend to adopt this restriction once
getViewportMedia() is shipped. Mozilla has been formally asked
<https://github.com/mozilla/standards-positions/issues/857#issuecomment-2405872931>whether
this would change their position; no response yet given.
/WebKit/:
No signal
https://github.com/WebKit/standards-positions/issues/280
<https://github.com/WebKit/standards-positions/issues/280>
/Web developers/: *Strongly positive*
*LibreStream*
·Source
<https://www.w3.org/community/sccg/2024/02/08/element-capture-origin-trial-starting-m121/>
·“This is perfect. We have a video collaboration app where we
need to share documents (e.g. PDFs) so users can walk through
the document together. As part of this, we have a document
viewer that the sharer needs to share dur-ing the call and
scroll through different pages where others can annotate on
the shared document. Prior to Element Capture, this was a
lousy user experience since the entire window needed to be
displayed and didn’t allow annotations from the sharer. Thank
you!”
*Engagely*
·Source
<https://github.com/screen-share/element-capture/issues/3#issuecomment-2119105313>
·“I highly support adopting this specification. We at Engageli
intend to use it for our session recorder, and for
collaboration tools.”
*Tango*
·Source
<https://github.com/screen-share/element-capture/issues/3#issuecomment-1483660309>
·“I can't emphasize enough how instrumental this specification
would be for our product and user experience.”
*RGO Communications*
·Source
<https://github.com/screen-share/element-capture/issues/58#issue-2636463347>
·“We support this API. We have not participated in the origin
trial due to prioritization issues; however, we intend to use
the API after it's shipped.”
*AudioPump*
·Source
<https://github.com/screen-share/element-capture/issues/58#issuecomment-2458176856>
·“At AudioPump, Inc., we have several projects that use
similar APIs and will likely also implement Element Capture.
There are no specific plans at the moment, and the current
restrictions cut down on the use cases, but I'm sure once it
becomes available for users, we will implement something.”
*Tella*
·Source
<https://github.com/screen-share/element-capture/issues/3#issuecomment-1484858622>
·“I support adopting the Element Capture specification. We
could in the future use this to do cleaner screen captures in
our chrome extension. We'd let the user "inspect" the page and
pick the part they'd want to capture more specifically.”
*Mux*
·Source
<https://github.com/screen-share/element-capture/issues/3#issuecomment-1484886738>
·“I support adopting the Element Capture specification.“
*Zoom*
·Source
<https://github.com/screen-share/element-capture/issues/3#issuecomment-1486716646>
·“Element capture has its use case. it is different as region
capture. Up for it.“
*Dialpad*
·Source
<https://github.com/screen-share/element-capture/issues/3#issuecomment-1509622596>
·“I support adopting the Element Capture specification.”
*Chromatic*
·Source
<https://github.com/WICG/proposals/issues/73#issuecomment-1285112981>
·“It could also help for tools like https://www.chromatic.com/
for visual regression testing!”
*Storitto + Audiocado*
·Source
<https://github.com/WICG/proposals/issues/73#issuecomment-1285298922>
·“We use the browser to create videos for Storrito.com and
Audiocado.com, the described feature would have saved me many
headaches.”
*Remotion*
·Source
<https://github.com/WICG/proposals/issues/73#issuecomment-1286827842>
·“I am also very interested in this API and second that it
will be important to get the frame in an uncompressed way. For
Remotion, we will be able to provide in-browser video
rendering if this API ships and generally, this would open the
door for web-based offline video editors to become more
powerful (the status quo is that only canvas-based graphics
can be exported as images).“
Debuggability
No changes to DevTools are intended.
Will this feature be supported on all six Blink
platforms (Windows, Mac, Linux, ChromeOS, Android, and
Android WebView)?
No
This API is supported on all desktop platforms. Mobile
platforms are unsupported because screen-capture itself is
unsupported on those platforms.
Is this feature fully tested by web-platform-tests
<https://chromium.googlesource.com/chromium/src/+/main/docs/testing/web_platform_tests.md>?
Yes
Flag name on about://flags
element-capture
Finch feature name
ElementCapture
Tracking bug
https://bugs.chromium.org/p/chromium/issues/detail?id=1418194
<https://bugs.chromium.org/p/chromium/issues/detail?id=1418194>
Launch bug
https://launch.corp.google.com/launch/4240472
<https://launch.corp.google.com/launch/4240472>
Sample links
https://element-capture-demo.glitch.me
<https://element-capture-demo.glitch.me/>
Estimated milestones
Shipping on desktop
132
Origin trial desktop first
127
Origin trial desktop last
132
Anticipated spec changes
At the moment, Chromium’s implementation of Element Capture
works with `getDisplayMedia({preferCurrentTab
<https://wicg.github.io/prefer-current-tab/>: true})`, which
is Chromium’s temporary stopgap for getViewportMedia()
<https://w3c.github.io/mediacapture-viewport/>. In the future,
after getViewportMedia() is fully specified, implemented and
gains wide adoption, we will limit Element Capture to only
work with tracks derived from getViewportMedia() calls, and
deprecate the ability to call restrictTo() on tracks obtained
with anything other than getViewportMedia().
Link to entry on the Chrome Platform Status
https://chromestatus.com/feature/5198989277790208?gate=5129718719840256
<https://chromestatus.com/feature/5198989277790208?gate=5129718719840256>
Links to previous Intent discussions
Intent to Prototype:
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAMO6jDO6y5b6y3q9QEd2scsYPWuWLJBnPLgwm%2BaHpKx36CYMwA%40mail.gmail.com
<https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAMO6jDO6y5b6y3q9QEd2scsYPWuWLJBnPLgwm%2BaHpKx36CYMwA%40mail.gmail.com>
Intent to Experiment:
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAMO6jDN8mcO%2BYqaVA5nb5BBv-dZB0wqwfh9580wMc-e%2BNuP7yw%40mail.gmail.com
<https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAMO6jDN8mcO%2BYqaVA5nb5BBv-dZB0wqwfh9580wMc-e%2BNuP7yw%40mail.gmail.com>
--
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/CAMO6jDPwMu%3D0_RCdRKrwa-w5Egj29priVsB%3DJwgXOby2QKkrQQ%40mail.gmail.com
<https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAMO6jDPwMu%3D0_RCdRKrwa-w5Egj29priVsB%3DJwgXOby2QKkrQQ%40mail.gmail.com?utm_medium=email&utm_source=footer>.
--
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+unsubscr...@chromium.org.
To view this discussion visit
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/d85a8a96-a5ca-4c99-ad91-0de9a07c3baen%40chromium.org
<https://groups.google.com/a/chromium.org/d/msgid/blink-dev/d85a8a96-a5ca-4c99-ad91-0de9a07c3baen%40chromium.org?utm_medium=email&utm_source=footer>.
--
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+unsubscr...@chromium.org.
To view this discussion visit
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAOMQ%2Bw8Y1x47kKPm5JwciRgHk5wLkRc9mYHvuPf%3D1mNuQ1dN9g%40mail.gmail.com
<https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAOMQ%2Bw8Y1x47kKPm5JwciRgHk5wLkRc9mYHvuPf%3D1mNuQ1dN9g%40mail.gmail.com?utm_medium=email&utm_source=footer>.
--
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+unsubscr...@chromium.org.
To view this discussion visit
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/c4a0a878-f573-400c-8479-e7dd8e704397%40chromium.org.