Re: [mediacapture-main] Polling enumerateDevices potentially being a fingerprint.

To facilitate the discussion, let's summarize how enumerateDevices() 
works based on current text.

- on page load, we create [[storedDeviceList]] and set it to null
- every time before we fire deviechange event, we set the 
[[storedDeviceList]] to null
- when [[storedDeviceList]] is null, enumerateDevices() will actually 
enumerate the devices and set the[[storedDeviceList]] accordingly
- when [[storedDeviceList]] is not null, we will resolve 
enumerateDevices() based on [[storedDeviceList]]

It seems possible to mitigate the perf overhead if apps repeatedly 
polling enumerateDevices().  It won't give any different results 
anyway unless the deviechange event has been fired.  

One issue as @jan-ivar pointed out is that the [[storedDeviceList]] 
could be out of sync when a page didn't get deviechange event.  The 
question is whether that is a reasonable compromise.  Meanwhile, if 
issue #414 is resolved with a "MAY", the issue here can potentially be
 further mitigated in implementations.

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

Received on Monday, 12 December 2016 18:22:36 UTC