- From: cowwoc <cowwoc@bbs.darktech.org>
- Date: Wed, 10 Jul 2013 12:29:32 -0400
- To: Adam Bergkvist <adam.bergkvist@ericsson.com>
- CC: "public-webrtc@w3.org" <public-webrtc@w3.org>
- Message-ID: <51DD8BEC.4060808@bbs.darktech.org>
On 10/07/2013 4:01 AM, Adam Bergkvist wrote:
> On 2013-07-09 19:16, cowwoc wrote:
>> Hi,
>>
>> This is a follow-up discussion to
>> https://code.google.com/p/chromium/issues/detail?id=257104
>>
>> The WebRTC specification needs to provide a better error message in case
>> the browser denies access to the camera, instead of the user. Currently,
>> the specification states that PERMISSION_DENIED is the result of the
>> user denying access. Instead of simply modifying the definition of
>> PERMISSION_DENIED to cover both cases, I propose splitting it into
>> separate cases:
>>
>> PERMISSION_DENIED_BY_USER
>> PERMISSION_DENIED_BY_BROWSER
>>
>> Alternatively, we need to add a String error message alongside the enum,
>> and require browsers to issue a different error message for each case.
>>
>
> Will the browser ever deny permission without involving the user?
Yes. Chrome already does this today. Try running a WebRTC
application from a file:// URL.
> I could imagine some future scenario where a browser policy restricts
> the browser/WebRTC from accessing certain cameras on a system, but
> wouldn't we be fine with the same error as there is no camera
> (available) then?
Having two separate error messages makes it easier to diagnose the
problem. I spent 2 hours trying to figure out why the browser was
denying access to the camera without prompting me (the user). It's
actually a lot harder to differentiate between user, browser or
application errors than you'd think. In the case of Chrome, it was
denying access to the camera immediately but then showed a camera icon
in the top right corner that, when clicked, asked "Continue blocking
camera access for this website? Ask next time this website tries
accessing the camera?". Meaning, Chrome was misrepresenting what was
going on ... as if the user had a choice to grant access or that they
were ever prompted to do so (neither of which was the case).
A production-ready WebRTC application with a polished UI needs to
differentiate and report at least three separate errors:
1. The application failed to run because the user denied camera access
(and explain how to re-enable it)
2. The application may not run under this context, regardless of user
action (and why)
3. An application bug was detected (and how to report it)
Gili
Received on Wednesday, 10 July 2013 16:31:04 UTC