Bug 275479
Summary: | Geolocation Permissions API on iOS does not report 24h grant as `GRANTED` | ||
---|---|---|---|
Product: | WebKit | Reporter: | smoser |
Component: | WebKit Misc. | Assignee: | Nobody <webkit-unassigned> |
Status: | NEW | ||
Severity: | Normal | CC: | cdumez, marcosc, webkit-bug-importer |
Priority: | P2 | Keywords: | InRadar |
Version: | Safari 17 | ||
Hardware: | iPhone / iPad | ||
OS: | iOS 17 | ||
See Also: | https://bugs.webkit.org/show_bug.cgi?id=275268 |
smoser
After accepting a geolocation prompt twice within a short time frame on iOS, geolocation calls return location without additional prompts for the next 24h. During this time, the permission API reports `PROMPT`, not `GRANTED`
Using [this testing site](https://permission.site/permission-status), I tested the behavior of the permission API on iOS. I took these steps:
1. Enable Location Services in iOS settings
2. Enable Location Services for Safari in settings
3. Get a geolocation prompt -> Allow
4. Reload the page
5. Get a geolocation prompt -> Allow
6. Reload the page
Expected behavior
In step 6, `navigator.permissions.query({ name: 'geolocation' })`, i.e. "Permission Status" reports `GRANTED`
Observed behavior:
In step 6, `navigator.permissions.query({ name: 'geolocation' })`, i.e. "Permission Status" still reports `PROMPT`
We want to provide a consistent end-to-end experience between content-area UI and browser-side UX. To do that, we need to understand how the browser UX will behave if (for example) we call the browser’s geolocation API -- will a permission prompt be shown? Or is the permission already granted or denied?
Attachments | ||
---|---|---|
Add attachment proposed patch, testcase, etc. |
Radar WebKit Bug Importer
<rdar://problem/130269340>