LGTM1

The main concerns I heard at TPAC were around the restrictions potentially 
being too restrictive, and/or lack of adoption as a result. I think we can 
evolve the feature regarding the former if it turns out to be necessary. 
And the best way to find out about the latter is to ship :)

On Friday, November 21, 2025 at 1:43:37 PM UTC+1 Chromestatus wrote:

> *Contact emails*
> [email protected], [email protected], [email protected]
>
> *Explainer*
> https://github.com/WICG/PEPC/blob/main/explainer.md
> https://github.com/WICG/PEPC/blob/main/geolocation_explainer.md
>
> *Specification*
> https://wicg.github.io/PEPC/permission-elements.html 
>
> *Design docs*
>
>
> https://docs.google.com/document/d/1GyDZ9gq5ckrpLEr0l1xLM1kR-mxqWrS6LapwVa0mCLA/edit?tab=t.0#heading=h.bat9awopsp53
>
> *Summary*
> Introduces the <geolocation> element, a declarative, user-activated 
> control for accessing the user's location. It streamlines the user and 
> developer journey by not only handling the permission flow but also 
> directly providing location data to the site, often eliminating the need 
> for a separate JavaScript API call. 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 the capability-specific 
> <geolocation> element to provide a more tailored and powerful developer 
> experience. Explainer: 
> https://github.com/WICG/PEPC/blob/main/geolocation_explainer.md 
> Instructions: https://github.com/WICG/PEPC/blob/main/HOWTO.md 
>
> *Blink component*
> UI>Browser>Permissions>Prompts 
> <https://issues.chromium.org/issues?q=customfield1222907:%22UI%3EBrowser%3EPermissions%3EPrompts%22>
>
> *Web Feature ID*
> permissions <https://webstatus.dev/features/permissions> 
>
> *Motivation*
> The current web permission model for geolocation 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 <geolocation> 
> element, a 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 
> <geolocation> element evolves beyond simply managing permissions; it 
> streamlines the entire journey by also directly providing location data to 
> the site. 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 proposal*
> https://github.com/WICG/proposals/issues/113
>
> *TAG review*
> https://github.com/w3ctag/design-reviews/issues/1079 
> https://github.com/w3ctag/design-reviews/issues/1140 
>
> *TAG review status*
> Issues addressed
>
> *Origin Trial Name*
> Page-embedded Permission Control (Camera/Mic)
>
> *Chromium Trial Name*
> PermissionElement
>
> *Origin Trial documentation link*
> https://github.com/WICG/PEPC/blob/main/explainer.md
>
> *WebFeature UseCounter name*
> kHTMLPermissionElement 
>
> *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*: Positive (
> https://github.com/mozilla/standards-positions/issues/1288)
>
> *WebKit*: No signal (
> https://github.com/WebKit/standards-positions/issues/545#issuecomment-3345403375
> )
>
> *Web developers*: Positive (https://github.com/WICG/PEPC/issues/59) 
> 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 
>
> *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? 
> Feature is not shipping on WebView due to it requiring permission manager 
> embedder support. 
>
>
> *Debuggability*
> *No information provided* 
>
> *Will this feature be supported on all six Blink platforms (Windows, Mac, 
> Linux, ChromeOS, Android, and Android WebView)?*
> No 
> The Geolocation 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 
> <https://chromium.googlesource.com/chromium/src/+/main/docs/testing/web_platform_tests.md>?*
> Yes 
> https://wpt.fyi/results/html/semantics/permission-element
>
> *DevTrial instructions*
> https://github.com/WICG/PEPC/blob/main/HOWTO.md
>
> *Flag name on about://flags*
> *No information provided* 
>
> *Finch feature name*
> GeolocationElement 
>
> *Rollout plan*
> Will ship enabled for all users
>
> *Requires code in //chrome?*
> True
>
> *Tracking bug*
> https://b.corp.google.com/issues/435351699
>
> *Launch bug*
> https://launch.corp.google.com/launch/4428191
>
> *Availability expectation*
> Feature is available only in Chromium browsers. We are not aware of other 
> browsers adoption.
>
> *Adoption expectation*
> Feature is used by specific partner(s) to provide functionality within 12 
> months of launch in Chrome. Partners who are tested the feature in OT are 
> expected to continue usage.
>
> *Adoption plan*
> We are planning to publish on developer.chrome.com and do further partner 
> outreach
>
> *Non-OSS dependencies*
>
> Does the feature depend on any code or APIs outside the Chromium open 
> source repository and its open-source dependencies to function? 
> No
>
> *Estimated milestones*
> Shipping on desktop 144 
> Origin trial desktop first 126 
> Origin trial desktop last 131 
> Origin trial extension 1 end milestone 134 
> Origin trial extension 2 end milestone 137 
> Origin trial extension 3 end milestone 140 
> Origin trial extension 4 end milestone 143 
> DevTrial on desktop 121 
> Shipping on Android 144 
> Origin trial Android first 134 
> DevTrial on Android 134 
>
> *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). 
> NA
>
> *Link to entry on the Chrome Platform Status*
> https://chromestatus.com/feature/5125006551416832?gate=5202152317779968
>
> *Links to previous Intent discussions*
> Intent to Prototype: 
> https://groups.google.com/a/chromium.org/g/blink-dev/c/TGsrhP4ref0/m/bHFj3id9AgAJ?utm_medium=email&utm_source=footer
> Ready for Trial: 
> https://groups.google.com/a/chromium.org/g/blink-dev/c/D-mE5qIlkWY
> Intent to Experiment: 
> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAFuQ4YuA5Fskj1QyrzL%2BXpZdQGe_vCu-wQjgqqhDwazC0Rr4FA%40mail.gmail.com
> Intent to Extend Experiment 1: 
> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CALTCLq7M2xaMvR4xFUk29gAsLLUcmWBFqgKhwQfADrf%3DmniNHg%40mail.gmail.com
> Intent to Extend Experiment 2: 
> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/679cc50c.2b0a0220.243291.0754.GAE%40google.com
> Intent to Extend Experiment 3: 
> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/685d0e00.170a0220.291021.0232.GAE%40google.com
> Intent to Extend Experiment 4: 
> https://groups.google.com/a/chromium.org/g/blink-dev/c/z2ikrqboP3o
>
>
> This intent message was generated by Chrome Platform Status 
> <https://chromestatus.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 [email protected].
To view this discussion visit 
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/2c3f0786-805a-4eec-b576-e52c755ae0fdn%40chromium.org.

Reply via email to