Re: Request for feedback: Media Capture and Streams Last Call

Den 06. juli 2015 21:25, skrev Jan-Ivar Bruaroey:
> Right, one might equate the criteria for *deciding to persist deviceId*
> with that of *deciding to unfilter label* (i.e. active gUM-use "in the
> current browsing context" or persistent permission).'

I am somewhat confused by one thing, though....

If I do:


enumerateDevices() => { device: id = 12345 type = videoinput }

getUserMedia({video: { deviceId: { exact: 12345 } }

enumerateDevices()

am I guaranteed that the device with id 12345 in the second
enumerateDevices is the same device as the one I grabbed?

I think it should be - that the getUserMedia() call has the effect of
freezing the previous ID assignment.

But on the other hand:

enumerateDevices() => { device: id = 12345 type = videoinput }
enumerateDevices() => { device: id = 2346 type = videoinput }
getUserMedia({video: { deviceId: { exact: 12345 } }

would result in a failure of getUserMedia. Right?



> 
> But the difference is that the former decision isn't undone at the end
> of gUM use (because that wouldn't be persistent at all), whereas the
> latter decision is made every time enumerateDevices is called.
> 
> What remains to decide is what happens when persistent permissions are
> revoked. I suggest:
> 
> Q: I clear my cookies but never revoke persistent permissions to site X.
> A: When I revisit site X, it gets new (different) deviceIds, which get
> persisted right away.
> 
> Q: I change site X's persistent permission from "Always Allow" back to
> the default ("Always ask").
> A: deviceId persists.
> 
> Q: I change site X's persistent permission from "Always Allow" to
> "Always Deny".
> A: Should we clear deviceId in this case, or is it unrelated at this point?
> 
> .: Jan-Ivar :.
> 
> On 7/6/15 2:17 PM, Martin Thomson wrote:
>> On 6 July 2015 at 11:12, Joe Berkovitz <joe@noteflight.com> wrote:
>>> Would this be identical to the filtered-vs-unfiltered-results criterion used
>>> by enumerateDevices() to determine the inclusion of labels, etc.? It seems
>>> logical to me that it would be exactly the same, since the aim in both
>>> places is to defeat fingerprinting.
>> No, the unfiltered information is only available when the site is able
>> to use the source, either because they have a persistent permission or
>> because the stream is active.
>>
>> This only changes the persistence story.  When gUM consent is granted,
>> the current random seed is persisted to disk.  The current spec
>> requires that the value be persisted when enumerateDevices is called.

Received on Monday, 6 July 2015 20:01:05 UTC