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 Web Feature ID 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? 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 (eg links to known github issues in the project for the feature specification) whose resolution may introduce web compat/interop risk (eg, 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. -- 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/69205e34.050a0220.107b62.029d.GAE%40google.com.
