Re: [mediacapture-main] Reinstate strong language on permission ending when tracks stop, lost by editorial mistake

I wonder if it would be reasonable to remove the distinction between 
"stored" and non-stored permission entirely. It's confusing that 
remembering a decision for the lifetime of a single realm/global 
object is considered "storing" it, even though it's only stored in 
memory in that case.

Instead, you could use the relatively new language in the permissions 
spec as follows:

> If there is an active track from a device with id *activeDeviceId*, 
then the [permission 
state](https://w3c.github.io/permissions/#permission-state) for 
<code>{name: *name*, deviceId: *activeDeviceId*}</code>, where *name* 
is "camera" or "microphone", must be `"granted"`.

This tells sites when a call won't show a prompt.

> The UA MUST NOT use any information from the user's interaction with
 a [non-secure 
context](https://w3c.github.io/webappsec-secure-contexts/#non-secure-context)
 to affect its impression of the user's intent for a different 
[environment settings 
object](https://html.spec.whatwg.org/multipage/webappapis.html#environment-settings-object).

This provides the security guarantee that 
https://tools.ietf.org/html/draft-ietf-rtcweb-security-arch-12#section-5.2
 wants.

This loses the requirement that permission state stop being 
`"granted"` when the last track is stopped, but that seems like it 
inappropriately enshrines Firefox's UI decisions in the spec anyway. 
You could get it back with:

> In a [non-secure 
context](https://w3c.github.io/webappsec-secure-contexts/#non-secure-context),
 if there is no active track from a device with id *activeDeviceId*, 
then the [permission 
state](https://w3c.github.io/permissions/#permission-state) for 
<code>{name: *name*, deviceId: *activeDeviceId*}</code>, where *name* 
is "camera" or "microphone", must *not* be `"granted"`.

You can drive the "permission granted" or "device accessible" 
indicator directly from the [permission 
state](https://w3c.github.io/permissions/#permission-state) instead of
 changing it in `getUserMedia()` and `stop()`.

-- 
GitHub Notification of comment by jyasskin
Please view or discuss this issue at 
https://github.com/w3c/mediacapture-main/issues/387#issuecomment-244443489
 using your GitHub account

Received on Friday, 2 September 2016 17:50:25 UTC