| 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 <string> | 5 #include <string> |
| 6 | 6 |
| 7 #include "base/bind.h" | 7 #include "base/bind.h" |
| 8 #include "base/message_loop.h" | 8 #include "base/message_loop.h" |
| 9 #include "content/browser/browser_thread_impl.h" | 9 #include "content/browser/browser_thread_impl.h" |
| 10 #include "content/browser/renderer_host/media/media_stream_dispatcher_host.h" | 10 #include "content/browser/renderer_host/media/media_stream_dispatcher_host.h" |
| (...skipping 23 matching lines...) Expand all Loading... |
| 34 const int kRenderId = 6; | 34 const int kRenderId = 6; |
| 35 const int kPageRequestId = 7; | 35 const int kPageRequestId = 7; |
| 36 | 36 |
| 37 namespace content { | 37 namespace content { |
| 38 | 38 |
| 39 class MockMediaStreamDispatcherHost : public MediaStreamDispatcherHost, | 39 class MockMediaStreamDispatcherHost : public MediaStreamDispatcherHost, |
| 40 public TestContentBrowserClient { | 40 public TestContentBrowserClient { |
| 41 public: | 41 public: |
| 42 MockMediaStreamDispatcherHost(base::MessageLoop* message_loop, | 42 MockMediaStreamDispatcherHost(base::MessageLoop* message_loop, |
| 43 MediaStreamManager* manager) | 43 MediaStreamManager* manager) |
| 44 : MediaStreamDispatcherHost(kProcessId), | 44 : MediaStreamDispatcherHost(kProcessId, manager), |
| 45 message_loop_(message_loop), | 45 message_loop_(message_loop) {} |
| 46 manager_(manager) {} | |
| 47 | 46 |
| 48 // A list of mock methods. | 47 // A list of mock methods. |
| 49 MOCK_METHOD4(OnStreamGenerated, | 48 MOCK_METHOD4(OnStreamGenerated, |
| 50 void(int routing_id, int request_id, int audio_array_size, | 49 void(int routing_id, int request_id, int audio_array_size, |
| 51 int video_array_size)); | 50 int video_array_size)); |
| 52 MOCK_METHOD2(OnStreamGenerationFailed, void(int routing_id, int request_id)); | 51 MOCK_METHOD2(OnStreamGenerationFailed, void(int routing_id, int request_id)); |
| 53 | 52 |
| 54 // Accessor to private functions. | 53 // Accessor to private functions. |
| 55 void OnGenerateStream(int page_request_id, const StreamOptions& components) { | 54 void OnGenerateStream(int page_request_id, const StreamOptions& components) { |
| 56 MediaStreamDispatcherHost::OnGenerateStream(kRenderId, | 55 MediaStreamDispatcherHost::OnGenerateStream(kRenderId, |
| (...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 88 IPC_MESSAGE_HANDLER(MediaStreamMsg_StreamGenerationFailed, | 87 IPC_MESSAGE_HANDLER(MediaStreamMsg_StreamGenerationFailed, |
| 89 OnStreamGenerationFailed) | 88 OnStreamGenerationFailed) |
| 90 IPC_MESSAGE_UNHANDLED(handled = false) | 89 IPC_MESSAGE_UNHANDLED(handled = false) |
| 91 IPC_END_MESSAGE_MAP() | 90 IPC_END_MESSAGE_MAP() |
| 92 EXPECT_TRUE(handled); | 91 EXPECT_TRUE(handled); |
| 93 | 92 |
| 94 delete message; | 93 delete message; |
| 95 return true; | 94 return true; |
| 96 } | 95 } |
| 97 | 96 |
| 98 // Use our own MediaStreamManager. | |
| 99 virtual MediaStreamManager* GetManager() OVERRIDE { | |
| 100 return manager_; | |
| 101 } | |
| 102 | |
| 103 // These handler methods do minimal things and delegate to the mock methods. | 97 // These handler methods do minimal things and delegate to the mock methods. |
| 104 void OnStreamGenerated( | 98 void OnStreamGenerated( |
| 105 const IPC::Message& msg, | 99 const IPC::Message& msg, |
| 106 int request_id, | 100 int request_id, |
| 107 std::string label, | 101 std::string label, |
| 108 StreamDeviceInfoArray audio_device_list, | 102 StreamDeviceInfoArray audio_device_list, |
| 109 StreamDeviceInfoArray video_device_list) { | 103 StreamDeviceInfoArray video_device_list) { |
| 110 OnStreamGenerated(msg.routing_id(), request_id, audio_device_list.size(), | 104 OnStreamGenerated(msg.routing_id(), request_id, audio_device_list.size(), |
| 111 video_device_list.size()); | 105 video_device_list.size()); |
| 112 // Notify that the event have occured. | 106 // Notify that the event have occured. |
| 113 message_loop_->PostTask(FROM_HERE, base::MessageLoop::QuitClosure()); | 107 message_loop_->PostTask(FROM_HERE, base::MessageLoop::QuitClosure()); |
| 114 label_ = label; | 108 label_ = label; |
| 115 audio_devices_ = audio_device_list; | 109 audio_devices_ = audio_device_list; |
| 116 video_devices_ = video_device_list; | 110 video_devices_ = video_device_list; |
| 117 } | 111 } |
| 118 | 112 |
| 119 void OnStreamGenerationFailed(const IPC::Message& msg, int request_id) { | 113 void OnStreamGenerationFailed(const IPC::Message& msg, int request_id) { |
| 120 OnStreamGenerationFailed(msg.routing_id(), request_id); | 114 OnStreamGenerationFailed(msg.routing_id(), request_id); |
| 121 message_loop_->PostTask(FROM_HERE, base::MessageLoop::QuitClosure()); | 115 message_loop_->PostTask(FROM_HERE, base::MessageLoop::QuitClosure()); |
| 122 label_= ""; | 116 label_= ""; |
| 123 } | 117 } |
| 124 | 118 |
| 125 base::MessageLoop* message_loop_; | 119 base::MessageLoop* message_loop_; |
| 126 MediaStreamManager* manager_; | |
| 127 }; | 120 }; |
| 128 | 121 |
| 129 class MockMediaStreamUIProxy : public FakeMediaStreamUIProxy { | 122 class MockMediaStreamUIProxy : public FakeMediaStreamUIProxy { |
| 130 public: | 123 public: |
| 131 MOCK_METHOD1(OnStarted, void(const base::Closure& stop)); | 124 MOCK_METHOD1(OnStarted, void(const base::Closure& stop)); |
| 132 }; | 125 }; |
| 133 | 126 |
| 134 class MediaStreamDispatcherHostTest : public testing::Test { | 127 class MediaStreamDispatcherHostTest : public testing::Test { |
| 135 public: | 128 public: |
| 136 MediaStreamDispatcherHostTest() : old_browser_client_(NULL) {} | 129 MediaStreamDispatcherHostTest() : old_browser_client_(NULL) {} |
| (...skipping 218 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 355 EXPECT_EQ(host_->NumberOfStreams(), 1u); | 348 EXPECT_EQ(host_->NumberOfStreams(), 1u); |
| 356 | 349 |
| 357 ASSERT_FALSE(close_callback.is_null()); | 350 ASSERT_FALSE(close_callback.is_null()); |
| 358 close_callback.Run(); | 351 close_callback.Run(); |
| 359 message_loop_->RunUntilIdle(); | 352 message_loop_->RunUntilIdle(); |
| 360 | 353 |
| 361 EXPECT_EQ(host_->NumberOfStreams(), 0u); | 354 EXPECT_EQ(host_->NumberOfStreams(), 0u); |
| 362 } | 355 } |
| 363 | 356 |
| 364 }; // namespace content | 357 }; // namespace content |
| OLD | NEW |