Comment 7 for bug 1410996

Revision history for this message
Olivier Tilloy (osomon) wrote : Re: Add WebView.mediaAccessPermissionRequested API

We need a UX specification for the media permission request handling.

Whenever a website requests access to the camera and/or the microphone, oxide emits a signal with the following information:
 - isForAudio (boolean)
 - isForVideo (boolean)
 - origin (URL)
 - embedder (URL)

At this point the browser can either allow or deny access, and the decision will be automatically remembered for the duration of the session (as soon as the browser app is closed and re-opened, the permissions will be requested again).

We can build in a persistent mechanism for remembering user decisions if they want to, but it should probably be opt-in, i.e. the user would choose between:
 - denying access for this session
 - permanently denying access
 - allowing access for this session
 - permanently allowing access

Additionally, we would need a UI (probably under settings) to allow the user to forget/modify persistent decisions. If a user chose to permanently authorize a given domain, they should be able to:
 - uncheck a checkbox to permanently deny access for that domain
 - delete the entry to ensure that next time that domain requests access the user will be prompted again

Oxide also gives us access to the list of audio/video capture devices and allows setting the default device for audio and video. We might want to have an extra piece of UI to allow the user to select the default device for each media type, although that’s probably less urgent since typically on a phone there will only be one device for each media type, so nothing to choose from.