Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(207)

Issue 145583015: MediaStream API: Implement Navigator.getMediaDevices

Created:
6 years, 10 months ago by Tommy Widenflycht
Modified:
6 years, 10 months ago
Reviewers:
abarth-chromium
CC:
blink-reviews, jamesr, philipj_slow, dglazkov+blink, eric.carlson_apple.com, abarth-chromium, feature-media-reviews_chromium.org, tommyw+watchlist_chromium.org
Base URL:
https://chromium.googlesource.com/chromium/blink.git@master
Visibility:
Public.

Description

MediaStream API: Implement Navigator.getMediaDevices This is the new hotness; the old busted MediaStreamTrack.getSources() will be removed later on. BUG=338511

Patch Set 1 #

Total comments: 6

Patch Set 2 : Fixed review comments and added a simple test #

Unified diffs Side-by-side diffs Delta from patch set Stats (+328 lines, -257 lines) Patch
A + LayoutTests/fast/mediastream/getMediaDevices.html View 1 1 chunk +11 lines, -10 lines 0 comments Download
A + LayoutTests/fast/mediastream/getMediaDevices-expected.txt View 1 1 chunk +8 lines, -4 lines 0 comments Download
A + Source/modules/mediastream/MediaDeviceInfo.h View 2 chunks +12 lines, -12 lines 0 comments Download
A + Source/modules/mediastream/MediaDeviceInfo.cpp View 1 chunk +20 lines, -30 lines 0 comments Download
A + Source/modules/mediastream/MediaDeviceInfo.idl View 1 2 chunks +11 lines, -5 lines 0 comments Download
A + Source/modules/mediastream/MediaDeviceInfoCallback.h View 2 chunks +10 lines, -13 lines 0 comments Download
A + Source/modules/mediastream/MediaDeviceInfoCallback.idl View 2 chunks +3 lines, -3 lines 0 comments Download
A + Source/modules/mediastream/MediaDevicesRequest.h View 1 2 chunks +26 lines, -23 lines 0 comments Download
A + Source/modules/mediastream/MediaDevicesRequest.cpp View 1 2 chunks +30 lines, -30 lines 0 comments Download
M Source/modules/mediastream/NavigatorMediaStream.h View 2 chunks +3 lines, -0 lines 0 comments Download
M Source/modules/mediastream/NavigatorMediaStream.cpp View 1 2 chunks +19 lines, -0 lines 0 comments Download
M Source/modules/mediastream/NavigatorMediaStream.idl View 1 chunk +2 lines, -0 lines 0 comments Download
M Source/modules/mediastream/UserMediaClient.h View 2 chunks +3 lines, -0 lines 0 comments Download
M Source/modules/mediastream/UserMediaController.h View 3 chunks +15 lines, -0 lines 0 comments Download
M Source/modules/modules.gypi View 2 chunks +7 lines, -0 lines 0 comments Download
M Source/platform/blink_platform.gypi View 1 chunk +1 line, -0 lines 0 comments Download
A + Source/platform/exported/WebMediaDeviceInfo.cpp View 2 chunks +25 lines, -25 lines 0 comments Download
M Source/web/UserMediaClientImpl.h View 2 chunks +3 lines, -1 line 0 comments Download
M Source/web/UserMediaClientImpl.cpp View 2 chunks +13 lines, -1 line 0 comments Download
A + Source/web/WebMediaDevicesRequest.cpp View 2 chunks +43 lines, -37 lines 0 comments Download
M Source/web/web.gypi View 1 chunk +1 line, -0 lines 0 comments Download
A + public/platform/WebMediaDeviceInfo.h View 3 chunks +20 lines, -26 lines 0 comments Download
A + public/web/WebMediaDevicesRequest.h View 2 chunks +39 lines, -36 lines 0 comments Download
M public/web/WebUserMediaClient.h View 2 chunks +3 lines, -1 line 0 comments Download

Messages

Total messages: 3 (0 generated)
Tommy Widenflycht
Adam, I know this is a big patch without tests but could you just have ...
6 years, 10 months ago (2014-01-28 04:12:19 UTC) #1
abarth-chromium
Seems generally fine. I didn't review in super detail because we're missing tests and such. ...
6 years, 10 months ago (2014-01-28 06:49:48 UTC) #2
Tommy Widenflycht
6 years, 10 months ago (2014-01-28 22:35:02 UTC) #3
I attended your comments and added a simple test. However you might want to hold
off on further reviews since I have to split this into three patches
blink-chromium-blink for the test to work.

https://codereview.chromium.org/145583015/diff/20001/Source/modules/mediastre...
File Source/modules/mediastream/MediaDeviceInfo.idl (right):

https://codereview.chromium.org/145583015/diff/20001/Source/modules/mediastre...
Source/modules/mediastream/MediaDeviceInfo.idl:26: enum MediaDeviceKind {
"audioinput", "audiooutput", "videoinput" };
On 2014/01/28 06:49:49, abarth wrote:
> Maybe split these onto separate lines?

Done.

https://codereview.chromium.org/145583015/diff/20001/Source/modules/mediastre...
File Source/modules/mediastream/MediaDevicesRequest.cpp (right):

https://codereview.chromium.org/145583015/diff/20001/Source/modules/mediastre...
Source/modules/mediastream/MediaDevicesRequest.cpp:72:
m_callback->handleEvent(mediaDevices);
On 2014/01/28 06:49:49, abarth wrote:
> Generally its better to use ActiveDOMObject for these sorts of classes.  We
> don't want to reveal to script when we've garbage collected the document. 
> Instead, we want to stop delivering callbacks when the document has called
> stop() on all the active DOM objects.

Done.

https://codereview.chromium.org/145583015/diff/20001/Source/modules/mediastre...
File Source/modules/mediastream/MediaDevicesRequest.h (right):

https://codereview.chromium.org/145583015/diff/20001/Source/modules/mediastre...
Source/modules/mediastream/MediaDevicesRequest.h:61: UserMediaController*
m_controller;
On 2014/01/28 06:49:49, abarth wrote:
> How do we know that this object outlives the controller?

The controller is owned to by the page and I now clear this pointer when
ActiveDOMObject calls stop

Powered by Google App Engine
This is Rietveld 408576698