Following the latest version of the
Media Capture and Streams spec, the mediaDevices attribute and the legacy getUserMedia method of the Navigator interface (including the deprecated prefixed version) are marked as SecureContext in Chrome M74. This means that enumerateDevices(), getDisplayMedia() and all variants of getUserMedia() will be visible only on secure origins.
Prior to this change getUserMedia() and getDisplayMedia() were visible on insecure origins, but they always failed and produced a deprecation message. enumerateDevices() was also visible, but it only returned opaque device IDs since permission to access complete device information has always required a secure origin.
We do not expect this change to negatively affect WebRTC-based applications using these features since they have always been useful only on secure origins in Chrome.
The only use case we expect will break is using opaque device IDs on insecure origins, possibly to track users. This is not a use case we are interested in supporting, so there is no work around other than using secure origins.