Does this intent deprecate or change behavior of existing APIs, such that it has potentially high risk for Android WebView-based applications?
Feature is not shipping on WebView due to it requiring permission manager embedder support.Does the feature depend on any code or APIs outside the Chromium open source repository and its open-source dependencies to function?
No| Shipping on desktop | 149 |
| Origin trial desktop first | 144 |
| Origin trial desktop last | 148 |
| DevTrial on desktop | 144 |
| Shipping on Android | 149 |
| Origin trial Android first | 144 |
| Origin trial Android last | 148 |
| DevTrial on Android | 144 |
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).
This is an MVP launch. The MVP feature is fully functional and used by developers right now. We are working closely with the WebRTC on post-MVP features, the open topics will based on the foundation of the MVP, that we agreed upon with the WebRTC. Some of the open topics are for example: In the future, we might want to add a parameter to the getUserMedia algorithm so that the algorithm can determine whether the getUserMedia is called from the <usermedia> element or getUserMedia API. Potential to add additional attributes for <usermedia> interface. We're putting finishing touches on the spec now, work-in-progress PR is here, but once that lands we want to ship for M149 so wanted to start the discussion now.Contact emailslemi...@google.com, tun...@google.com
Explainerhttps://github.com/WICG/PEPC/blob/main/usermedia_element.md
Specificationhttps://wicg.github.io/PEPC/permission-elements.html
SummaryUsermedia Capability Element, is 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 componentPublic Trackers > Chromium Public Trackers > Chromium > Internals > Permissions > PermissionElement
Web Feature IDpermissions
MotivationThe current web permission model for interacting with user media relies on JavaScript-triggered prompts, giving the user agent no strong signal of user intent. This results in out-of-context prompts, user frustration, and difficult-to-recover-from denial states. We propose the <usermedia> element, or a suite of elements. This will be semantic HTML control with browser-controlled content and strict styling constraints. These constraints are fundamental to the security model, ensuring a very high level of confidence in the user's intent when making a permission decision at both the site and OS level. Crucially, the <usermedia> element evolves beyond simply managing permissions; it streamlines the entire journey by also facilitating starting and interacting with media streams. This often eliminates the need for separate JavaScript API calls, simplifying implementation and creating a more seamless user flow. By providing a clear, consistent, in-page control, this element solves significant user problems related to context blindness and "permission regret," offering a simple recovery path from a previously denied state. The combination of a user-initiated element and a subsequent browser-controlled confirmation UI enhances intent capture, improves accessibility, and prevents manipulative patterns, providing a significantly better experience for both users and developers.
Initial public proposalhttps://github.com/WICG/PEPC/issues/62
TAG reviewhttps://github.com/w3ctag/design-reviews/issues/1079
--
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/69dfa184.050a0220.c8e20.03e8.GAE%40google.com.
Note that web-exposed features typically live under the 'Blink' component, and they get some extra love (like an extra expert triage rotation) to help ensure web devs are getting fast and helpful responses and that important externally-reported regressions don't get missed. Bugs under 'Internals' are normally assumed to not contain important externally-reported issues. As long as your team is on top of your bug triage (eg. would notice within 1-2 days if someone filed a bug there saying a change broke their website) then it's not a big deal, may not be worth the hassle of moving. Regardless, does not need to block this intent IMHO.
Since this is a distinct feature we'd want to track usage of independently, it should have a distinct feature ID. Please file an issue here and just tag it as missing for now.
There's also a more specific review request a couple weeks ago. Probably its the one you should list in chromestatus for this feature (and it links to the related prior ones anyway). No need to block this I2S, but of course we expect that you'll engage with any feedback that comes there in parallel.
It looks like you have just a 50% pass rate (8/16) on the dashboard right now. Has someone done a triage pass over these failures? Perhaps some of these tests are passing in Chrome infra but failing on wpt.fyi?
Getting all the tests passing doesn't need to block I2S, but we want to make sure we understand the current and likely future state of the tests since it's a proxy for maturity and spec conformance, and is really valuable for any other implementations to follow.
Thomas Nguyen
Software Engineer
Google Germany GmbH
Erika-Mann-Straße 33
80636 München
Geschäftsführer: Paul Manicle, Halimah DeLaine Prado
Registergericht und -nummer: Hamburg, HRB 86891
Sitz der Gesellschaft: Hamburg
Diese E-Mail ist vertraulich. Falls Sie diese fälschlicherweise erhalten haben sollten, leiten Sie diese bitte nicht an jemand anderes weiter, löschen Sie alle Kopien und Anhänge davon und lassen Sie mich bitte wissen, dass die E-Mail an die falsche Person gesendet wurde.
This e-mail is confidential. If you received this communication by mistake, please don't forward it to anyone else, please erase all copies and attachments, and please let me know that it has gone to the wrong person.
LGTM2
Sorry, LGTM2 % requesting the missing Testing bit in your chromestatus entry.
--