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

Issue 2721113002: getUserMedia: handle the device starting status report. (Closed)

Created:
3 years, 9 months ago by braveyao
Modified:
3 years, 9 months ago
CC:
chromium-reviews, extensions-reviews_chromium.org, avayvod+watch_chromium.org, imcheng+watch_chromium.org, mlamouri+watch-content_chromium.org, posciak+watch_chromium.org, chfremer+watch_chromium.org, jam, feature-media-reviews_chromium.org, darin-cc_chromium.org, mcasas+watch+vc_chromium.org, jasonroberts+watch_google.com, chromium-apps-reviews_chromium.org, xjz+watch_chromium.org, isheriff+watch_chromium.org, miu+watch_chromium.org
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

getUserMedia: handle the device starting status report. Chromium used to report device started immediately at requesting user media, despite the device operation results. This causes several kinds of problems. - Notification of capture starting is shown before device starts. - gUM gets successful callback even if the device fails to start. So we decide to make gUM return the real device starting states (here we focus on the video capturing). This is the second part of the complete modification. The design doc is here, https://goo.gl/WTZkEl The previous CL is here, https://codereview.chromium.org/2673373003/ This CL does severals things when a OnStarted event from device arrives - VideoCaptureImpl calls the state_update_cb, informing the track is completed. - When all tracks are completed, return gUM with successful callback and send a message to browser process to show the notification in UI. - Other related changes due to the asynchronous OnStarted event. - Remove some test cases of desktop_capture, which tests nothing before (due to the always-successful gUM callback) and fails after this cl (gUM will get errorcallback if stream can't be started successfully). BUG=674959, 651910 Review-Url: https://codereview.chromium.org/2721113002 Cr-Commit-Position: refs/heads/master@{#456895} Committed: https://chromium.googlesource.com/chromium/src/+/1941549656951c9dbd61984b3fd7f8414a3536a6

Patch Set 1 #

Total comments: 28

Patch Set 2 : rebase to Mar2 #

Patch Set 3 : address comments on PS#1 #

Total comments: 6

Patch Set 4 : address comments on PS#3 #

Total comments: 18

Patch Set 5 : address comments on PS#4 #

Total comments: 2

Patch Set 6 : address nits on PS#5 #

Total comments: 6

Patch Set 7 : address nits on PS#6 #

Total comments: 5

Patch Set 8 : address nits #

Unified diffs Side-by-side diffs Delta from patch set Stats (+258 lines, -104 lines) Patch
M chrome/browser/extensions/api/desktop_capture/desktop_capture_apitest.cc View 1 2 3 4 5 6 7 1 chunk +14 lines, -9 lines 0 comments Download
M chrome/test/data/extensions/api_test/desktop_capture/test.js View 1 2 3 4 5 6 7 2 chunks +22 lines, -16 lines 0 comments Download
M content/browser/media/capture/web_contents_video_capture_device_unittest.cc View 1 2 3 4 5 6 13 chunks +24 lines, -20 lines 0 comments Download
M content/browser/renderer_host/media/media_stream_dispatcher_host.h View 1 chunk +2 lines, -0 lines 0 comments Download
M content/browser/renderer_host/media/media_stream_dispatcher_host.cc View 2 chunks +7 lines, -0 lines 0 comments Download
M content/browser/renderer_host/media/media_stream_dispatcher_host_unittest.cc View 1 2 chunks +7 lines, -0 lines 0 comments Download
M content/browser/renderer_host/media/media_stream_manager.h View 1 chunk +3 lines, -0 lines 0 comments Download
M content/browser/renderer_host/media/media_stream_manager.cc View 1 2 3 4 5 6 7 3 chunks +16 lines, -11 lines 0 comments Download
M content/browser/renderer_host/media/video_capture_controller.h View 1 2 3 4 1 chunk +2 lines, -2 lines 0 comments Download
M content/browser/renderer_host/media/video_capture_controller.cc View 1 2 3 4 4 chunks +8 lines, -4 lines 0 comments Download
M content/browser/renderer_host/media/video_capture_controller_unittest.cc View 1 2 1 chunk +31 lines, -0 lines 0 comments Download
M content/browser/renderer_host/media/video_capture_manager_unittest.cc View 1 2 1 chunk +1 line, -0 lines 0 comments Download
M content/common/media/media_stream_messages.h View 1 chunk +3 lines, -0 lines 0 comments Download
M content/common/media/video_capture.h View 1 2 3 4 1 chunk +1 line, -0 lines 0 comments Download
M content/renderer/media/media_stream_dispatcher.h View 1 chunk +3 lines, -0 lines 0 comments Download
M content/renderer/media/media_stream_dispatcher.cc View 1 chunk +7 lines, -0 lines 0 comments Download
M content/renderer/media/media_stream_video_capturer_source.cc View 1 2 3 4 1 chunk +1 line, -0 lines 0 comments Download
M content/renderer/media/user_media_client_impl.h View 1 chunk +4 lines, -4 lines 0 comments Download
M content/renderer/media/user_media_client_impl.cc View 3 chunks +3 lines, -1 line 0 comments Download
M content/renderer/media/video_capture_impl.cc View 1 2 3 4 5 7 chunks +31 lines, -23 lines 0 comments Download
M content/renderer/media/video_capture_impl_manager_unittest.cc View 1 2 3 chunks +12 lines, -2 lines 0 comments Download
M content/renderer/media/video_capture_impl_unittest.cc View 1 2 3 4 8 chunks +49 lines, -6 lines 0 comments Download
M media/capture/video/fake_video_capture_device_unittest.cc View 1 6 chunks +7 lines, -6 lines 0 comments Download

Messages

Total messages: 91 (73 generated)
braveyao
Hi, this is the second part of changes to getUserMedia. miu@, please help to take ...
3 years, 9 months ago (2017-03-01 17:56:13 UTC) #19
chfremer
A few questions and recommendations. https://codereview.chromium.org/2721113002/diff/60001/chrome/test/data/extensions/api_test/desktop_capture/test.js File chrome/test/data/extensions/api_test/desktop_capture/test.js (right): https://codereview.chromium.org/2721113002/diff/60001/chrome/test/data/extensions/api_test/desktop_capture/test.js#newcode127 chrome/test/data/extensions/api_test/desktop_capture/test.js:127: // fake web-content/window source ...
3 years, 9 months ago (2017-03-02 17:56:10 UTC) #20
braveyao
Thanks for the comments! All addressed. PTAL! https://codereview.chromium.org/2721113002/diff/60001/chrome/test/data/extensions/api_test/desktop_capture/test.js File chrome/test/data/extensions/api_test/desktop_capture/test.js (right): https://codereview.chromium.org/2721113002/diff/60001/chrome/test/data/extensions/api_test/desktop_capture/test.js#newcode127 chrome/test/data/extensions/api_test/desktop_capture/test.js:127: // fake ...
3 years, 9 months ago (2017-03-03 17:53:13 UTC) #41
chfremer
https://codereview.chromium.org/2721113002/diff/60001/chrome/test/data/extensions/api_test/desktop_capture/test.js File chrome/test/data/extensions/api_test/desktop_capture/test.js (right): https://codereview.chromium.org/2721113002/diff/60001/chrome/test/data/extensions/api_test/desktop_capture/test.js#newcode127 chrome/test/data/extensions/api_test/desktop_capture/test.js:127: // fake web-content/window source id. On 2017/03/03 17:53:12, braveyao ...
3 years, 9 months ago (2017-03-03 19:08:34 UTC) #42
braveyao
Thanks a lot! All addressed. PTAL! https://codereview.chromium.org/2721113002/diff/60001/chrome/test/data/extensions/api_test/desktop_capture/test.js File chrome/test/data/extensions/api_test/desktop_capture/test.js (right): https://codereview.chromium.org/2721113002/diff/60001/chrome/test/data/extensions/api_test/desktop_capture/test.js#newcode127 chrome/test/data/extensions/api_test/desktop_capture/test.js:127: // fake web-content/window ...
3 years, 9 months ago (2017-03-03 21:34:55 UTC) #48
chfremer
lgtm
3 years, 9 months ago (2017-03-03 23:53:42 UTC) #49
miu
https://codereview.chromium.org/2721113002/diff/200001/chrome/browser/extensions/api/desktop_capture/desktop_capture_apitest.cc File chrome/browser/extensions/api/desktop_capture/desktop_capture_apitest.cc (left): https://codereview.chromium.org/2721113002/diff/200001/chrome/browser/extensions/api/desktop_capture/desktop_capture_apitest.cc#oldcode220 chrome/browser/extensions/api/desktop_capture/desktop_capture_apitest.cc:220: // tabShareWithoutAudioGetStream() I'm worried about these deletions. Instead, can ...
3 years, 9 months ago (2017-03-06 22:37:33 UTC) #50
braveyao
Thanks miu@ so much for the suggestions! PTAL. https://codereview.chromium.org/2721113002/diff/200001/chrome/browser/extensions/api/desktop_capture/desktop_capture_apitest.cc File chrome/browser/extensions/api/desktop_capture/desktop_capture_apitest.cc (left): https://codereview.chromium.org/2721113002/diff/200001/chrome/browser/extensions/api/desktop_capture/desktop_capture_apitest.cc#oldcode220 chrome/browser/extensions/api/desktop_capture/desktop_capture_apitest.cc:220: // ...
3 years, 9 months ago (2017-03-08 22:02:52 UTC) #64
miu
PS5 lgtm % nits: https://codereview.chromium.org/2721113002/diff/200001/content/renderer/media/video_capture_impl.cc File content/renderer/media/video_capture_impl.cc (right): https://codereview.chromium.org/2721113002/diff/200001/content/renderer/media/video_capture_impl.cc#newcode111 content/renderer/media/video_capture_impl.cc:111: if (state_ == VIDEO_CAPTURE_STATE_ERROR) { ...
3 years, 9 months ago (2017-03-10 23:56:56 UTC) #65
braveyao
Thanks miu@! emircan@, need your review on content/browser/renderer_host/media/. Thanks! https://codereview.chromium.org/2721113002/diff/200001/content/renderer/media/video_capture_impl.cc File content/renderer/media/video_capture_impl.cc (right): https://codereview.chromium.org/2721113002/diff/200001/content/renderer/media/video_capture_impl.cc#newcode111 content/renderer/media/video_capture_impl.cc:111: ...
3 years, 9 months ago (2017-03-13 19:04:45 UTC) #70
emircan
lgtm % nits. https://codereview.chromium.org/2721113002/diff/260001/content/browser/media/capture/web_contents_video_capture_device_unittest.cc File content/browser/media/capture/web_contents_video_capture_device_unittest.cc (right): https://codereview.chromium.org/2721113002/diff/260001/content/browser/media/capture/web_contents_video_capture_device_unittest.cc#newcode581 content/browser/media/capture/web_contents_video_capture_device_unittest.cc:581: const std::pair<SkColor, gfx::Size> color_and_size = It ...
3 years, 9 months ago (2017-03-13 21:03:36 UTC) #71
braveyao
Thanks emircan@! Need more OWNER's review: sergeyu@, please take a look at chrome/browser/extensions/api/desktop_capture/desktop_capture_apitest.cc. dcheng@, please ...
3 years, 9 months ago (2017-03-14 00:05:16 UTC) #77
dcheng
ipc lgtm https://codereview.chromium.org/2721113002/diff/280001/content/browser/renderer_host/media/media_stream_manager.cc File content/browser/renderer_host/media/media_stream_manager.cc (right): https://codereview.chromium.org/2721113002/diff/280001/content/browser/renderer_host/media/media_stream_manager.cc#newcode1772 content/browser/renderer_host/media/media_stream_manager.cc:1772: if (request->ui_proxy.get()) { Nit: no .get()
3 years, 9 months ago (2017-03-14 06:28:01 UTC) #78
tommi (sloooow) - chröme
Lgtm. happy to see this fixed. It was recently fixed for audio, in case someone ...
3 years, 9 months ago (2017-03-14 07:12:01 UTC) #79
Sergey Ulanov
If you link to a (design) doc from CL description, please make sure that the ...
3 years, 9 months ago (2017-03-14 19:43:34 UTC) #80
braveyao
Thanks all! https://codereview.chromium.org/2721113002/diff/280001/chrome/browser/extensions/api/desktop_capture/desktop_capture_apitest.cc File chrome/browser/extensions/api/desktop_capture/desktop_capture_apitest.cc (right): https://codereview.chromium.org/2721113002/diff/280001/chrome/browser/extensions/api/desktop_capture/desktop_capture_apitest.cc#newcode220 chrome/browser/extensions/api/desktop_capture/desktop_capture_apitest.cc:220: /** On 2017/03/14 19:43:34, Sergey Ulanov wrote: ...
3 years, 9 months ago (2017-03-14 23:42:08 UTC) #85
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2721113002/300001
3 years, 9 months ago (2017-03-14 23:42:59 UTC) #88
commit-bot: I haz the power
3 years, 9 months ago (2017-03-14 23:50:53 UTC) #91
Message was sent while issue was closed.
Committed patchset #8 (id:300001) as
https://chromium.googlesource.com/chromium/src/+/1941549656951c9dbd61984b3fd7...

Powered by Google App Engine
This is Rietveld 408576698