LGTM3. I'm very excited to see this ship! IMHO PEPC opens up a new sweet spot in the tradeoff space here for a wide variety of use cases, I can't wait to see it deployed in other cases too.
Agreed we can continue to work on ease of adoption without blocking shipping. Rick On Wed, Nov 26, 2025 at 11:16 AM Chris Harrelson <[email protected]> wrote: > LGTM2 > > On Wed, Nov 26, 2025 at 8:15 AM Yoav Weiss (@Shopify) < > [email protected]> wrote: > >> 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 >> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/2c3f0786-805a-4eec-b576-e52c755ae0fdn%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 [email protected]. > To view this discussion visit > https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAOMQ%2Bw8FKd65J3Cim9BrAGPj8cnN%2B1xKY4MSwXX7udWsoUSCGQ%40mail.gmail.com > <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAOMQ%2Bw8FKd65J3Cim9BrAGPj8cnN%2B1xKY4MSwXX7udWsoUSCGQ%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 [email protected]. To view this discussion visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAFUtAY_0EN0ZLaxoj_8OX%2ByB1Y6LdiNP5yGZ9OSeXfMNDMT6Xw%40mail.gmail.com.
