| Index: content/renderer/media/user_media_client_impl_unittest.cc
|
| diff --git a/content/renderer/media/user_media_client_impl_unittest.cc b/content/renderer/media/user_media_client_impl_unittest.cc
|
| index 41f634f55f12dfe6a793f9d8ce59a85e0fae6600..77214b3bb20394160c9d52bb4523f6e6e8f8bef6 100644
|
| --- a/content/renderer/media/user_media_client_impl_unittest.cc
|
| +++ b/content/renderer/media/user_media_client_impl_unittest.cc
|
| @@ -206,9 +206,16 @@ class UserMediaClientImplUnderTest : public UserMediaClientImpl {
|
| create_source_that_fails_ = should_fail;
|
| }
|
|
|
| + static void SignalSourceReady(
|
| + const MediaStreamSource::ConstraintsCallback& source_ready,
|
| + MediaStreamSource* source) {
|
| + source_ready.Run(source, MEDIA_DEVICE_OK, "");
|
| + }
|
| +
|
| MediaStreamAudioSource* CreateAudioSource(
|
| const StreamDeviceInfo& device,
|
| - const blink::WebMediaConstraints& constraints) override {
|
| + const blink::WebMediaConstraints& constraints,
|
| + const MediaStreamSource::ConstraintsCallback& source_ready) override {
|
| MediaStreamAudioSource* source;
|
| if (create_source_that_fails_) {
|
| class FailedAtLifeAudioSource : public MediaStreamAudioSource {
|
| @@ -225,6 +232,15 @@ class UserMediaClientImplUnderTest : public UserMediaClientImpl {
|
| source = new MediaStreamAudioSource(true);
|
| }
|
| source->SetDeviceInfo(device);
|
| +
|
| + if (!create_source_that_fails_) {
|
| + // RunUntilIdle is required for this task to complete.
|
| + base::ThreadTaskRunnerHandle::Get()->PostTask(
|
| + FROM_HERE,
|
| + base::Bind(&UserMediaClientImplUnderTest::SignalSourceReady,
|
| + source_ready, source));
|
| + }
|
| +
|
| return source;
|
| }
|
|
|
| @@ -346,6 +362,7 @@ class UserMediaClientImplTest : public ::testing::Test {
|
| ms_dispatcher_->audio_input_request_id(),
|
| ms_dispatcher_->stream_label(), ms_dispatcher_->audio_input_array(),
|
| ms_dispatcher_->video_array());
|
| + base::RunLoop().RunUntilIdle();
|
| }
|
|
|
| void StartMockedVideoSource() {
|
|
|