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

Side by Side Diff: content/browser/renderer_host/media/media_stream_dispatcher_host_unittest.cc

Issue 10479023: Simplify how Content*Client interfaces are created. Instead of depending on the embedder to know wh… (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: remove unused function declaration Created 8 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
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/mock_content_browser_client.h"
11 #include "content/browser/renderer_host/media/media_stream_dispatcher_host.h" 10 #include "content/browser/renderer_host/media/media_stream_dispatcher_host.h"
12 #include "content/browser/renderer_host/media/media_stream_manager.h" 11 #include "content/browser/renderer_host/media/media_stream_manager.h"
13 #include "content/browser/renderer_host/media/mock_media_observer.h" 12 #include "content/browser/renderer_host/media/mock_media_observer.h"
14 #include "content/browser/renderer_host/media/video_capture_manager.h" 13 #include "content/browser/renderer_host/media/video_capture_manager.h"
15 #include "content/common/media/media_stream_messages.h" 14 #include "content/common/media/media_stream_messages.h"
16 #include "content/common/media/media_stream_options.h" 15 #include "content/common/media/media_stream_options.h"
17 #include "content/public/test/mock_resource_context.h" 16 #include "content/public/test/mock_resource_context.h"
17 #include "content/test/test_content_browser_client.h"
18 #include "content/test/test_content_client.h" 18 #include "content/test/test_content_client.h"
19 #include "ipc/ipc_message_macros.h" 19 #include "ipc/ipc_message_macros.h"
20 #include "media/audio/audio_manager.h" 20 #include "media/audio/audio_manager.h"
21 #include "net/url_request/url_request_context.h" 21 #include "net/url_request/url_request_context.h"
22 #include "testing/gmock/include/gmock/gmock.h" 22 #include "testing/gmock/include/gmock/gmock.h"
23 #include "testing/gtest/include/gtest/gtest.h" 23 #include "testing/gtest/include/gtest/gtest.h"
24 24
25 using ::testing::_; 25 using ::testing::_;
26 using ::testing::DeleteArg; 26 using ::testing::DeleteArg;
27 using ::testing::DoAll; 27 using ::testing::DoAll;
28 using ::testing::Return; 28 using ::testing::Return;
29 29
30 using content::BrowserThread; 30 using content::BrowserThread;
31 using content::BrowserThreadImpl; 31 using content::BrowserThreadImpl;
32 32
33 const int kProcessId = 5; 33 const int kProcessId = 5;
34 const int kRenderId = 6; 34 const int kRenderId = 6;
35 const int kPageRequestId = 7; 35 const int kPageRequestId = 7;
36 36
37 namespace media_stream { 37 namespace media_stream {
38 38
39 class MockMediaStreamDispatcherHost : public MediaStreamDispatcherHost, 39 class MockMediaStreamDispatcherHost : public MediaStreamDispatcherHost,
40 public content::MockContentBrowserClient { 40 public content::TestContentBrowserClient {
41 public: 41 public:
42 MockMediaStreamDispatcherHost(content::ResourceContext* resource_context, 42 MockMediaStreamDispatcherHost(content::ResourceContext* resource_context,
43 MessageLoop* message_loop, 43 MessageLoop* message_loop,
44 media::AudioManager* audio_manager) 44 media::AudioManager* audio_manager)
45 : MediaStreamDispatcherHost(resource_context, kProcessId, audio_manager), 45 : MediaStreamDispatcherHost(resource_context, kProcessId, audio_manager),
46 message_loop_(message_loop) {} 46 message_loop_(message_loop) {}
47 47
48 // A list of mock methods. 48 // A list of mock methods.
49 MOCK_METHOD4(OnStreamGenerated, 49 MOCK_METHOD4(OnStreamGenerated,
50 void(int routing_id, int request_id, int audio_array_size, 50 void(int routing_id, int request_id, int audio_array_size,
(...skipping 121 matching lines...) Expand 10 before | Expand all | Expand 10 after
172 &resource_context_, audio_manager_.get())->UseFakeDevice(); 172 &resource_context_, audio_manager_.get())->UseFakeDevice();
173 173
174 host_ = new MockMediaStreamDispatcherHost( 174 host_ = new MockMediaStreamDispatcherHost(
175 &resource_context_, message_loop_.get(), audio_manager_.get()); 175 &resource_context_, message_loop_.get(), audio_manager_.get());
176 176
177 // Use the fake content client and browser. 177 // Use the fake content client and browser.
178 old_client_ = content::GetContentClient(); 178 old_client_ = content::GetContentClient();
179 old_browser_client_ = content::GetContentClient()->browser(); 179 old_browser_client_ = content::GetContentClient()->browser();
180 content_client_.reset(new TestContentClient); 180 content_client_.reset(new TestContentClient);
181 content::SetContentClient(content_client_.get()); 181 content::SetContentClient(content_client_.get());
182 content_client_->set_browser(host_); 182 content_client_->set_browser_for_testing(host_);
183 } 183 }
184 184
185 virtual void TearDown() { 185 virtual void TearDown() {
186 // Needed to make sure the manager finishes all tasks on its own thread. 186 // Needed to make sure the manager finishes all tasks on its own thread.
187 SyncWithVideoCaptureManagerThread(); 187 SyncWithVideoCaptureManagerThread();
188 188
189 // Recover the old browser client and content client. 189 // Recover the old browser client and content client.
190 content::GetContentClient()->set_browser(old_browser_client_); 190 content::GetContentClient()->set_browser_for_testing(old_browser_client_);
191 content::SetContentClient(old_client_); 191 content::SetContentClient(old_client_);
192 content_client_.reset(); 192 content_client_.reset();
193 } 193 }
194 194
195 // Called on the VideoCaptureManager thread. 195 // Called on the VideoCaptureManager thread.
196 static void PostQuitMessageLoop(MessageLoop* message_loop) { 196 static void PostQuitMessageLoop(MessageLoop* message_loop) {
197 message_loop->PostTask(FROM_HERE, MessageLoop::QuitClosure()); 197 message_loop->PostTask(FROM_HERE, MessageLoop::QuitClosure());
198 } 198 }
199 199
200 // Called on the main thread. 200 // Called on the main thread.
(...skipping 152 matching lines...) Expand 10 before | Expand all | Expand 10 after
353 EXPECT_EQ(host_->video_devices_.size(), 0u); 353 EXPECT_EQ(host_->video_devices_.size(), 0u);
354 EXPECT_EQ(host_->NumberOfStreams(), 1u); 354 EXPECT_EQ(host_->NumberOfStreams(), 1u);
355 355
356 // TODO(perkj): test audio device failure? 356 // TODO(perkj): test audio device failure?
357 357
358 host_->OnStopGeneratedStream(label); 358 host_->OnStopGeneratedStream(label);
359 EXPECT_EQ(host_->NumberOfStreams(), 0u); 359 EXPECT_EQ(host_->NumberOfStreams(), 0u);
360 } 360 }
361 361
362 }; // namespace media_stream 362 }; // namespace media_stream
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698