Bug 257710
| Summary: | Permissions API reports wrong permissions for microphone | ||
|---|---|---|---|
| Product: | WebKit | Reporter: | jk |
| Component: | WebKit Misc. | Assignee: | Nobody <webkit-unassigned> |
| Status: | NEW | ||
| Severity: | Normal | CC: | bfulgham, cdumez, marcosc, sihui_liu, webkit-bug-importer, wilander, youennf |
| Priority: | P2 | Keywords: | InRadar |
| Version: | Safari 16 | ||
| Hardware: | All | ||
| OS: | macOS 13 | ||
| See Also: | https://bugs.webkit.org/show_bug.cgi?id=257889 | ||
jk
Using Permissions API, the permissionStatus of microphone is not reflecting current actual status set in Settings|Websites|microphones for the site. Landing on a page when microphone access is set to "Deny", will show "Prompt" as status. Landing on page with access set to "Ask" or "Allow" will correctly yield "Prompt" or "Granted" as status.
Changing the permission while on the page does not fire the onchange event (implemented in https://bugs.webkit.org/show_bug.cgi?id=244633) (existing bug https://bugs.webkit.org/show_bug.cgi?id=256201), but the updated state will be reported when queried again.
Changing the setting from Denied to Ask/Allow, does allow opening new connections when earlier attempts would fail.
Changing the permission to Denied, new connections are still allowed to be opened without any prompts.
For minimal Repro, see: https://jsfiddle.net/byrd65uc/
| Attachments | ||
|---|---|---|
| Add attachment proposed patch, testcase, etc. |
Radar WebKit Bug Importer
<rdar://problem/110264710>
youenn fablet
> Landing on a page when microphone access is set to "Deny", will show "Prompt" as status
It will show prompt, until the first getUserMedia call, which will be denied.
At that point, permission API should show denied.
> Changing the permission to Denied, new connections are still allowed to be opened without any prompts.
For the page that is capturing yes.
This could be fixed either at WebKit or Safari level.
youenn fablet
I'll fix part of the bug in https://bugs.webkit.org/show_bug.cgi?id=258915, provided that WebKit gets notified of permission change.