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

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

Issue 13409003: Hide ContentClient getters from embedders so that they they don't reuse content's embedder API. The… (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: sync Created 7 years, 8 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/renderer_host/media/media_stream_dispatcher_host.h" 10 #include "content/browser/renderer_host/media/media_stream_dispatcher_host.h"
(...skipping 110 matching lines...) Expand 10 before | Expand all | Expand 10 after
121 message_loop_->PostTask(FROM_HERE, MessageLoop::QuitClosure()); 121 message_loop_->PostTask(FROM_HERE, MessageLoop::QuitClosure());
122 label_= ""; 122 label_= "";
123 } 123 }
124 124
125 MessageLoop* message_loop_; 125 MessageLoop* message_loop_;
126 MediaStreamManager* manager_; 126 MediaStreamManager* manager_;
127 }; 127 };
128 128
129 class MediaStreamDispatcherHostTest : public testing::Test { 129 class MediaStreamDispatcherHostTest : public testing::Test {
130 public: 130 public:
131 MediaStreamDispatcherHostTest() : old_client_(NULL), 131 MediaStreamDispatcherHostTest() : old_browser_client_(NULL) {}
132 old_browser_client_(NULL) {}
133 virtual ~MediaStreamDispatcherHostTest() {} 132 virtual ~MediaStreamDispatcherHostTest() {}
134 133
135 void WaitForResult() { 134 void WaitForResult() {
136 message_loop_->Run(); 135 message_loop_->Run();
137 } 136 }
138 137
139 protected: 138 protected:
140 virtual void SetUp() OVERRIDE { 139 virtual void SetUp() OVERRIDE {
141 // MediaStreamManager must be created and called on IO thread. 140 // MediaStreamManager must be created and called on IO thread.
142 message_loop_.reset(new MessageLoop(MessageLoop::TYPE_IO)); 141 message_loop_.reset(new MessageLoop(MessageLoop::TYPE_IO));
143 io_thread_.reset(new BrowserThreadImpl(BrowserThread::IO, 142 io_thread_.reset(new BrowserThreadImpl(BrowserThread::IO,
144 message_loop_.get())); 143 message_loop_.get()));
145 144
146 // Create our own media observer. 145 // Create our own media observer.
147 media_observer_.reset(new MockMediaObserver()); 146 media_observer_.reset(new MockMediaObserver());
148 147
149 // Create our own MediaStreamManager. 148 // Create our own MediaStreamManager.
150 audio_manager_.reset(media::AudioManager::Create()); 149 audio_manager_.reset(media::AudioManager::Create());
151 media_stream_manager_.reset(new MediaStreamManager(audio_manager_.get())); 150 media_stream_manager_.reset(new MediaStreamManager(audio_manager_.get()));
152 // Make sure we use fake devices to avoid long delays. 151 // Make sure we use fake devices to avoid long delays.
153 media_stream_manager_->UseFakeDevice(); 152 media_stream_manager_->UseFakeDevice();
154 153
155 host_ = new MockMediaStreamDispatcherHost(message_loop_.get(), 154 host_ = new MockMediaStreamDispatcherHost(message_loop_.get(),
156 media_stream_manager_.get()); 155 media_stream_manager_.get());
157 156
158 // Use the fake content client and browser. 157 // Use the fake content client and browser.
159 old_client_ = GetContentClient();
160 old_browser_client_ = GetContentClient()->browser();
161 content_client_.reset(new TestContentClient); 158 content_client_.reset(new TestContentClient);
162 SetContentClient(content_client_.get()); 159 SetContentClient(content_client_.get());
163 content_client_->set_browser_for_testing(host_); 160 old_browser_client_ = SetBrowserClientForTesting(host_);
164 } 161 }
165 162
166 virtual void TearDown() OVERRIDE { 163 virtual void TearDown() OVERRIDE {
167 message_loop_->RunUntilIdle(); 164 message_loop_->RunUntilIdle();
168 165
169 // Recover the old browser client and content client. 166 // Recover the old browser client and content client.
170 GetContentClient()->set_browser_for_testing(old_browser_client_); 167 SetBrowserClientForTesting(old_browser_client_);
171 SetContentClient(old_client_);
172 content_client_.reset(); 168 content_client_.reset();
173 169
174 // Delete the IO message loop to delete the device thread, 170 // Delete the IO message loop to delete the device thread,
175 // AudioInputDeviceManager and VideoCaptureManager. 171 // AudioInputDeviceManager and VideoCaptureManager.
176 message_loop_.reset(); 172 message_loop_.reset();
177 } 173 }
178 174
179 scoped_refptr<MockMediaStreamDispatcherHost> host_; 175 scoped_refptr<MockMediaStreamDispatcherHost> host_;
180 scoped_ptr<MessageLoop> message_loop_; 176 scoped_ptr<MessageLoop> message_loop_;
181 scoped_ptr<BrowserThreadImpl> io_thread_; 177 scoped_ptr<BrowserThreadImpl> io_thread_;
182 scoped_ptr<media::AudioManager> audio_manager_; 178 scoped_ptr<media::AudioManager> audio_manager_;
183 scoped_ptr<MediaStreamManager> media_stream_manager_; 179 scoped_ptr<MediaStreamManager> media_stream_manager_;
184 ContentClient* old_client_;
185 ContentBrowserClient* old_browser_client_; 180 ContentBrowserClient* old_browser_client_;
186 scoped_ptr<ContentClient> content_client_; 181 scoped_ptr<ContentClient> content_client_;
187 scoped_ptr<MockMediaObserver> media_observer_; 182 scoped_ptr<MockMediaObserver> media_observer_;
188 }; 183 };
189 184
190 TEST_F(MediaStreamDispatcherHostTest, GenerateStream) { 185 TEST_F(MediaStreamDispatcherHostTest, GenerateStream) {
191 StreamOptions options(MEDIA_NO_SERVICE, MEDIA_DEVICE_VIDEO_CAPTURE); 186 StreamOptions options(MEDIA_NO_SERVICE, MEDIA_DEVICE_VIDEO_CAPTURE);
192 187
193 EXPECT_CALL(*host_, GetMediaObserver()) 188 EXPECT_CALL(*host_, GetMediaObserver())
194 .WillRepeatedly(Return(media_observer_.get())); 189 .WillRepeatedly(Return(media_observer_.get()));
(...skipping 168 matching lines...) Expand 10 before | Expand all | Expand 10 after
363 EXPECT_EQ(host_->NumberOfStreams(), 1u); 358 EXPECT_EQ(host_->NumberOfStreams(), 1u);
364 359
365 ASSERT_FALSE(close_callback.is_null()); 360 ASSERT_FALSE(close_callback.is_null());
366 close_callback.Run(); 361 close_callback.Run();
367 message_loop_->RunUntilIdle(); 362 message_loop_->RunUntilIdle();
368 363
369 EXPECT_EQ(host_->NumberOfStreams(), 0u); 364 EXPECT_EQ(host_->NumberOfStreams(), 0u);
370 } 365 }
371 366
372 }; // namespace content 367 }; // namespace content
OLDNEW
« no previous file with comments | « content/browser/loader/resource_loader_unittest.cc ('k') | content/browser/site_instance_impl_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698