Always exciting to get full cross-platform support!
Can you request the privacy / security / enterprise /
debuggability / testing review gates on ChromeStatus? After
those are in progress I'll be happen to LGTM.
On Thursday, July 18, 2024 at 9:00:41 PM UTC+9 Peter
Pakkenberg wrote:
Specification
https://w3c.github.io/permissions/
Summary
This Intent to Ship covers the launch of the Web
Permission API in WebView, an API that has already
launched in other browsers and embedders.
WebView has a more limited permission model than other
embedders, namely, it doesn’t support separating
“checking permission state” from “requesting
permissions”, and the Permission API implementation we
ship will reflect this. In particular, the API will
respond with “denied” for APIs that are not supported by
WebView, “granted” for permissions that WebView
automatically grants (midi, sensors) and “prompt” for
APIs where permission is handled by sending a callback
to the WebView-embedding app
<https://developer.android.com/reference/android/webkit/WebChromeClient#onPermissionRequest(android.webkit.PermissionRequest)>(camera,
microphone, midi-sysex). WebView does offer support for
persistent permissions for the Geolocation API, so in
apps that use that feature, WebView will respond with
“granted” or “prompt” depending on the choices made by
the embedding app.
Blink component
Blink>PermissionsAPI
<https://g-issues.chromium.org/issues?q=status:open%20componentid:1456441&s=created_time:desc>
Mobile>WebView
<https://g-issues.chromium.org/issues?q=status:open%20componentid:1456456&s=created_time:desc>
TAG review
None
TAG review status
Not applicable
Risks
Interoperability and Compatibility
The API is already implemented in all major browsers
<https://caniuse.com/permissions-api>. This Intent to
Ship covers the launch in WebView.
WebView application risks
Does this intent deprecate or change behaviour of
existing APIs, such that it has potentially high risk
for Android WebView-based applications?
This launch does not change any existing behaviour in
WebView. However, websites should be aware that they
will now be able to use the permissions.query API, which
was previously not exposed, and for some APIs
(microphone, camera, and MIDI SysEx), they will always
get a response of “prompt”. This reflects the fact that
these permissions are always forwarded to the embedding
app
<https://developer.android.com/reference/android/webkit/WebChromeClient#onPermissionRequest(android.webkit.PermissionRequest)>.
Debuggability
None
Will this feature be supported on all six Blink
platforms (Windows, Mac, Linux, ChromeOS,
Android, and Android WebView)?
Yes
Is this feature fully tested by
web-platform-tests
<https://chromium.googlesource.com/chromium/src/+/main/docs/testing/web_platform_tests.md>?
Yes
<https://github.com/web-platform-tests/wpt/tree/master/permissions>,
where results will be published to wpt.fyi
<https://wpt.fyi/results/permissions?label=master&label=experimental&product=chrome&product=firefox&product=safari&product=android_webview&aligned>
Flag name on chrome://flags
None
Finch feature name
WebPermissionsApi
Requires code in //chrome?
False
Tracking bug
https://issues.chromium.org/issues/348635849
<https://issues.chromium.org/issues/348635849>
Measurement
Reuse existing use counter for permissions.query.
Availability expectation
Available in all major browsers. This also adds the API
to WebView
Adoption expectation
Already widely adopted.
Adoption plan
Already widely adopted.
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 WebView
128
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).
None
Link to entry on the Chrome Platform Status
https://chromestatus.com/feature/6376494003650560
--
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 on the web visit
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/e70b074b-addd-438e-b9f1-f0cc839fa00cn%40chromium.org
<https://groups.google.com/a/chromium.org/d/msgid/blink-dev/e70b074b-addd-438e-b9f1-f0cc839fa00cn%40chromium.org?utm_medium=email&utm_source=footer>.