There are two parts.
1. Subscription handling: depends on MediaDevicesDispatcherHost. After the work on bug 764680 , access to this object from Blink is straightforward.
2. Event handling: This is implemented by a renderer-side mojo object (MediaDevicesListener) implemented in content/renderer/media.
This should be moved to Blink.
The main issue is that this is not only used by the Web platform, but also by PepperMediaDevicesManager in Blink. Moving all the logic to Blink requires making it accessible to content via public/ so that PepperMediaDevicesManager can continue to use the functionality.
Comment 1 by guidou@chromium.org
, Dec 8 2017Components: Blink>MediaStream