Intent to Experiment: Context-aware media element(s)

31 views
Skip to first unread message

Chromestatus

unread,
12:49 PM (2 hours ago) 12:49 PM
to blin...@chromium.org, lemi...@google.com, tun...@google.com
Contact emails
lemi...@google.com, tun...@google.com

Explainer
https://github.com/WICG/PEPC/blob/main/usermedia_element.md
https://github.com/WICG/PEPC/blob/main/explainer.md

Specification
https://wicg.github.io/PEPC/permission-elements.html

Design docs

https://docs.google.com/document/d/1WpTAK_UViXL84YBR-4Hsj2y_YPwh3QZBqpB3KB3Xh0s/edit?resourcekey=0-P-jSRgKuk1vOTwOY15DnCQ&tab=t.0#heading=h.bat9awopsp53
https://docs.google.com/document/d/1GyDZ9gq5ckrpLEr0l1xLM1kR-mxqWrS6LapwVa0mCLA/edit?tab=t.0#heading=h.bat9awopsp53

Summary
Context-aware media element(s), are a declarative, user-activated control for accessing the starting and interacting with media streams. This addresses the long-standing problem of permission prompts being triggered directly from JavaScript without a strong signal of user intent. By embedding a browser-controlled element in the page, the user's click provides a clear, intentional signal. This enables a much better prompt UX and, crucially, provides a simple recovery path for users who have previously denied the permission. Note: This feature was previously developed and tested in an Origin Trial as the more generic <permission> element. Based on feedback from developers and other browser vendors, it has evolved into capability-specific elements to provide a more tailored and powerful developer experience.

Blink component
Public Trackers > Chromium Public Trackers > Chromium > Internals > Permissions > PermissionElement

Web Feature ID
permissions

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

TAG review status
Pending

Origin Trial documentation link
https://github.com/WICG/PEPC/blob/main/explainer.md

Risks


Interoperability and Compatibility
There is a risk that this feature fails to be adopted by other browsers. This can be mitigated by backwards designing a reasonable fallback mechanism so that the element can degrade gracefully if the it's in an unsupported environment.

Gecko: Under consideration (https://github.com/mozilla/standards-positions/issues/1245)

WebKit: No signal

Web developers: Positive https://github.com/WICG/PEPC/issues/2#issuecomment-2393820279 https://github.com/WICG/PEPC/issues/2#issuecomment-2393861768 https://github.com/WICG/PEPC/issues/2#issuecomment-2393911331 https://github.com/WICG/PEPC/issues/2#issuecomment-2619657041 https://github.com/WICG/PEPC/issues/62#issuecomment-3482975001 https://github.com/WICG/PEPC/issues/62#issuecomment-3482981942 https://github.com/WICG/PEPC/issues/62#issuecomment-3498355775 https://github.com/WICG/PEPC/issues/62#issuecomment-3513734884

Other signals:

Ergonomics
No foreseen ergonomics risks.

Activation
A polyfill can help developers use this feature without risking broken functionality on non-supporting browsers.

Security
https://github.com/WICG/PEPC/blob/main/explainer.md#Security

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


Goals for experimentation
No information provided

Ongoing technical constraints
No information provided

Debuggability
The element raises issues to the devtools issues panel which help developers debug issues with their usage of the element.

Will this feature be supported on all six Blink platforms (Windows, Mac, Linux, ChromeOS, Android, and Android WebView)?
No
The element is not supported on Android WebView as it requires permission manager support to function and the WebView permission manager defers most permission decisions to the embedder by design.

Is this feature fully tested by web-platform-tests?
Yes
https://wpt.fyi/results/html/semantics/permission-element/usermedia

DevTrial instructions
https://github.com/WICG/PEPC/blob/main/HOWTO.md#enabling-usermedia

Flag name on about://flags
No information provided

Finch feature name
UserMediaElement

Requires code in //chrome?
True

Tracking bug
https://crbug.com/443013457

Estimated milestones
Origin trial desktop first144
Origin trial desktop last148
DevTrial on desktop144
Origin trial Android first144
Origin trial Android last148
DevTrial on Android144


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

Links to previous Intent discussions
Intent to Prototype: https://groups.google.com/a/chromium.org/d/msgid/blink-dev/692719de.050a0220.17ec37.00c3.GAE%40google.com


This intent message was generated by Chrome Platform Status.

Minh Le

unread,
12:57 PM (2 hours ago) 12:57 PM
to Chromestatus, blin...@chromium.org, tun...@google.com
Dear Blink-dev owners,

I added "Experiment goals" to the Chromestatus, but the auto-intent-to-ship-mail didn't copy this over. Please see the Chromestatus for those details.

tldr: The requested OT for <usermedia> is a copy of the initial <permission> element. We deviated from this initial element by creating two separate ones: <geolocation> and <usermedia> - element. THe <geolocation> - element is shipped, thus we created a new chromestatus and OT to ensure continuity for current developers, who are using the element for usermedia and focus on the iteration of it.
Thank you and Best,
Minh
Reply all
Reply to author
Forward
0 new messages