New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.
Starred by 9 users

Issue metadata

Status: Fixed
Closed: Sep 2015
EstimatedDays: ----
NextAction: ----
OS: All
Pri: 2
Type: Launch-OWP
Launch-Accessibility: ----
Launch-Exp-Leadership: ----
Launch-Leadership: ----
Launch-Legal: ----
Launch-M-Approved: ----
Launch-M-Target: ----
Launch-Privacy: ----
Launch-Security: ----
Launch-Test: ----
Launch-UI: ----

Sign in to add a comment

Issue 504280: Add support for enumeration of media devices

Reported by, Jun 25 2015 Project Member

Issue description

(See for an overview)

Change description:
Add the navigator.mediaDevices object and the navigator.mediaDevices.enumerateDevices() function.

Changes to API surface:

Public standards discussion:

Support in other browsers:
Internet Explorer: Public support, 
Firefox: Shipped since version 39,
Safari: In development,

Comment 1 by, Jul 8 2015

Project Member
The following revision refers to this bug:

r198529 | | 2015-07-08T19:21:02.109617Z

Changed paths:

Enable MediaDevices by default by marking the the EnumerateDevices flag as stable.

Note that this includes mediaDevices.enumerateDevices() but also mediaDevices.getUserMedia() which was added later under the same flag.
The Intent to Ships for both were approved recently.

BUG= 504280 , 503227 

Review URL:

Comment 2 by, Jul 31 2015

Due to a regression caused by mediaDevices.getUserMedia(), this feature is behind a flag in M45. Shipping is postponed to M46 where either getUserMedia will be fixed or will have its own flag.

Comment 3 by, Aug 5 2015

Do you believe this API has any potential privacy or security implications (for example increased fingerprinting risk)? If so we should ensure it has been approved by the appropriate teams. Let me know either way.

Comment 4 by, Aug 6 2015

The security review for the device enumeration API is at

Note that at the time of that discussion, the original device enumeration API was MediaStreamTrack.getSources(), but the spec changed and replaced it with MediaDevices.enumerateDevices() (see ).
MediaStreamTrack.getSources() will be removed eventually (see ).

Apart from the name change, the main difference is that enumerateDevices() can list audio output devices in addition to the audio input and video input devices that MediaStreamTrack.getSources() already provides.

Based on the points discussed in the security review, I don't think enumerateDevices() raises any new risks by itself. The ability to enumerate audio output devices is expected to be used in combination with another API called Audio Output Devices API. That API  will have its own security review before being shipped.

Comment 5 by, Aug 28 2015

Project Member
The following revision refers to this bug:

r201398 | | 2015-08-28T12:50:14.295158Z

Changed paths:

Use separate flags for MediaDevices and promises-based getUserMedia.

getUserMedia is not yet fully spec compliant and should remain behind a flag, but MediaDevices.enumerateDevices does not have this problem.

BUG= 504280 

Review URL:

Comment 6 by, Sep 23 2015

Labels: Hotlist-Recharge
This issue likely requires triage.  The current issue owner maybe inactive (i.e. hasn't fixed an issue in the last 30 days).  Thanks for helping out!


Comment 7 by, Sep 24 2015

Status: Fixed

Sign in to add a comment