Bug 205684
| Summary: | [iOS] Changing camera access from deny to ask requires browser restart to take effect, but user isn't prompted | ||
|---|---|---|---|
| Product: | WebKit | Reporter: | Dag-Inge Aas <daginge> |
| Component: | WebRTC | Assignee: | Nobody <webkit-unassigned> |
| Status: | RESOLVED FIXED | ||
| Severity: | Normal | CC: | webkit-bug-importer, youennf |
| Priority: | P2 | Keywords: | InRadar |
| Version: | Safari 13 | ||
| Hardware: | iPhone / iPad | ||
| OS: | iOS 13 | ||
Dag-Inge Aas
In the settings menu on iOS users have the option to Ask, Deny or Allow access to Camera and Microphone for all web pages. If the user has selected "Deny" we will get a NotAllowedError as per specification. We prompt the user to change this behaviour to use our application by setting the option to "Ask". However, once the user does this and returns to the page we still get a "NotAllowedError". Refreshing, or even opening a new tab doesn't seem to work.
Steps to reproduce:
1. Make sure you have set the Camera and Microphone setting to "Deny"
2. Navigate to https://webrtc.github.io/samples/src/content/getusermedia/gum/
3. Click "Open camera"
4. Observe that you get NotAllowedError
5. Go to settings and set Camera and Microphone to "Ask"
6. Go back to the Safari app and click "Open Camera"
7. Observe that you get NotAllowedError
8. Reload the page and click "Open camera"
9. Observe that you get NotAllowedError
10. Go back to the main view for WebRTC samples (I used "back")
11. Click "Basic getUserMedia demo", observe that a new tab is created
12. Click "Open camera"
13. Observe that you get NotAllowedError
14. Kill the Safari app and re-open it
15. Click "Open camera"
16. Observe that you now can access the camera
Video:
https://photos.app.goo.gl/FruotncxzD1gwJ2PA
Expected behaviour:
Call to getUserMedia after settings have been changed works. Alternatively, user is prompted/Safari is automatically restarted when changing this setting.
Impact:
We have received several user reports that despite saying to restart Safari the user does not know how to do this, nor do they understand easily our directions for how to do it (Long press home or slightly swipe up from the bottom, flick away the app, and re-open). This has often required us to call the user on the phone to help them kill Safari so we can reset the setting and re-enable camera access.
| Attachments | ||
|---|---|---|
| Add attachment proposed patch, testcase, etc. |
Dag-Inge Aas
Also, shouldn't the "Allow" setting here have some kind of use confirmation given how dangerous enabling that setting is? The nuance between "Ask" and "Allow" in this case is lost on most users in our experience, and the dangers of selecting "Allow" here are quite significant.
Radar WebKit Bug Importer
<rdar://problem/58270596>
youenn fablet
Thanks for the report, I can repro the issue.
Radar WebKit Bug Importer
<rdar://problem/58270602>
Radar WebKit Bug Importer
<rdar://problem/58270611>
youenn fablet
Tracked and fixed internally.