Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "base/memory/scoped_ptr.h" | 5 #include "base/memory/scoped_ptr.h" |
| 6 #include "base/message_loop/message_loop.h" | 6 #include "base/message_loop/message_loop.h" |
| 7 #include "base/strings/utf_string_conversions.h" | 7 #include "base/strings/utf_string_conversions.h" |
| 8 #include "content/child/child_process.h" | 8 #include "content/child/child_process.h" |
| 9 #include "content/renderer/media/media_stream.h" | 9 #include "content/renderer/media/media_stream.h" |
| 10 #include "content/renderer/media/media_stream_impl.h" | 10 #include "content/renderer/media/media_stream_impl.h" |
| (...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 43 REQUEST_FAILED, | 43 REQUEST_FAILED, |
| 44 }; | 44 }; |
| 45 | 45 |
| 46 MediaStreamImplUnderTest( | 46 MediaStreamImplUnderTest( |
| 47 PeerConnectionDependencyFactory* dependency_factory, | 47 PeerConnectionDependencyFactory* dependency_factory, |
| 48 scoped_ptr<MediaStreamDispatcher> media_stream_dispatcher) | 48 scoped_ptr<MediaStreamDispatcher> media_stream_dispatcher) |
| 49 : MediaStreamImpl( | 49 : MediaStreamImpl( |
| 50 NULL, dependency_factory, media_stream_dispatcher.Pass()), | 50 NULL, dependency_factory, media_stream_dispatcher.Pass()), |
| 51 state_(REQUEST_NOT_STARTED), | 51 state_(REQUEST_NOT_STARTED), |
| 52 result_(NUM_MEDIA_REQUEST_RESULTS), | 52 result_(NUM_MEDIA_REQUEST_RESULTS), |
| 53 result_name_(""), | |
| 53 factory_(dependency_factory), | 54 factory_(dependency_factory), |
| 54 video_source_(NULL) { | 55 video_source_(NULL) { |
| 55 } | 56 } |
| 56 | 57 |
| 57 void RequestUserMedia() { | 58 void RequestUserMedia() { |
| 58 blink::WebUserMediaRequest user_media_request; | 59 blink::WebUserMediaRequest user_media_request; |
| 59 state_ = REQUEST_NOT_COMPLETE; | 60 state_ = REQUEST_NOT_COMPLETE; |
| 60 requestUserMedia(user_media_request); | 61 requestUserMedia(user_media_request); |
| 61 } | 62 } |
| 62 | 63 |
| (...skipping 11 matching lines...) Expand all Loading... | |
| 74 } | 75 } |
| 75 | 76 |
| 76 virtual void GetUserMediaRequestFailed( | 77 virtual void GetUserMediaRequestFailed( |
| 77 blink::WebUserMediaRequest* request_info, | 78 blink::WebUserMediaRequest* request_info, |
| 78 content::MediaStreamRequestResult result) OVERRIDE { | 79 content::MediaStreamRequestResult result) OVERRIDE { |
| 79 last_generated_stream_.reset(); | 80 last_generated_stream_.reset(); |
| 80 state_ = REQUEST_FAILED; | 81 state_ = REQUEST_FAILED; |
| 81 result_ = result; | 82 result_ = result; |
| 82 } | 83 } |
| 83 | 84 |
| 85 virtual void GetUserMediaRequestFailed( | |
| 86 blink::WebUserMediaRequest* request_info, | |
| 87 MediaStreamRequestResult result, | |
| 88 const blink::WebString& result_name) OVERRIDE { | |
| 89 last_generated_stream_.reset(); | |
| 90 state_ = REQUEST_FAILED; | |
| 91 result_ = result; | |
| 92 result_name_ = result_name; | |
|
miu
2014/07/30 19:37:23
This is good, but where are the unit tests that ch
jiajia.qin
2014/07/31 13:43:00
TEST_F(MediaStreamImplTest, MediaVideoSourceFailTo
miu
2014/07/31 19:30:09
So, you can copy-and-paste that test, and modify i
jiajia.qin
2014/08/01 05:25:33
Done.
| |
| 93 } | |
| 94 | |
| 84 virtual void EnumerateDevicesSucceded( | 95 virtual void EnumerateDevicesSucceded( |
| 85 blink::WebMediaDevicesRequest* request, | 96 blink::WebMediaDevicesRequest* request, |
| 86 blink::WebVector<blink::WebMediaDeviceInfo>& devices) OVERRIDE { | 97 blink::WebVector<blink::WebMediaDeviceInfo>& devices) OVERRIDE { |
| 87 state_ = REQUEST_SUCCEEDED; | 98 state_ = REQUEST_SUCCEEDED; |
| 88 last_devices_ = devices; | 99 last_devices_ = devices; |
| 89 } | 100 } |
| 90 | 101 |
| 91 virtual MediaStreamVideoSource* CreateVideoSource( | 102 virtual MediaStreamVideoSource* CreateVideoSource( |
| 92 const StreamDeviceInfo& device, | 103 const StreamDeviceInfo& device, |
| 93 const MediaStreamSource::SourceStoppedCallback& stop_callback) OVERRIDE { | 104 const MediaStreamSource::SourceStoppedCallback& stop_callback) OVERRIDE { |
| (...skipping 19 matching lines...) Expand all Loading... | |
| 113 return video_source_; | 124 return video_source_; |
| 114 } | 125 } |
| 115 | 126 |
| 116 RequestState request_state() const { return state_; } | 127 RequestState request_state() const { return state_; } |
| 117 content::MediaStreamRequestResult error_reason() const { return result_; } | 128 content::MediaStreamRequestResult error_reason() const { return result_; } |
| 118 | 129 |
| 119 private: | 130 private: |
| 120 blink::WebMediaStream last_generated_stream_; | 131 blink::WebMediaStream last_generated_stream_; |
| 121 RequestState state_; | 132 RequestState state_; |
| 122 content::MediaStreamRequestResult result_; | 133 content::MediaStreamRequestResult result_; |
| 134 blink::WebString result_name_; | |
| 123 blink::WebVector<blink::WebMediaDeviceInfo> last_devices_; | 135 blink::WebVector<blink::WebMediaDeviceInfo> last_devices_; |
| 124 PeerConnectionDependencyFactory* factory_; | 136 PeerConnectionDependencyFactory* factory_; |
| 125 MockMediaStreamVideoCapturerSource* video_source_; | 137 MockMediaStreamVideoCapturerSource* video_source_; |
| 126 }; | 138 }; |
| 127 | 139 |
| 128 class MediaStreamImplTest : public ::testing::Test { | 140 class MediaStreamImplTest : public ::testing::Test { |
| 129 public: | 141 public: |
| 130 virtual void SetUp() { | 142 virtual void SetUp() { |
| 131 // Create our test object. | 143 // Create our test object. |
| 132 child_process_.reset(new ChildProcess()); | 144 child_process_.reset(new ChildProcess()); |
| (...skipping 333 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 466 EXPECT_FALSE(ms_impl_->last_devices()[3].groupId().isEmpty()); | 478 EXPECT_FALSE(ms_impl_->last_devices()[3].groupId().isEmpty()); |
| 467 | 479 |
| 468 // Verfify group IDs. | 480 // Verfify group IDs. |
| 469 EXPECT_TRUE(ms_impl_->last_devices()[0].groupId().equals( | 481 EXPECT_TRUE(ms_impl_->last_devices()[0].groupId().equals( |
| 470 ms_impl_->last_devices()[3].groupId())); | 482 ms_impl_->last_devices()[3].groupId())); |
| 471 EXPECT_FALSE(ms_impl_->last_devices()[1].groupId().equals( | 483 EXPECT_FALSE(ms_impl_->last_devices()[1].groupId().equals( |
| 472 ms_impl_->last_devices()[3].groupId())); | 484 ms_impl_->last_devices()[3].groupId())); |
| 473 } | 485 } |
| 474 | 486 |
| 475 } // namespace content | 487 } // namespace content |
| OLD | NEW |