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

Unified Diff: content/browser/renderer_host/media/video_capture_host_unittest.cc

Issue 7948004: Removing singelton property of MediaStreamManager. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 9 years, 3 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 side-by-side diff with in-line comments
Download patch
Index: content/browser/renderer_host/media/video_capture_host_unittest.cc
diff --git a/content/browser/renderer_host/media/video_capture_host_unittest.cc b/content/browser/renderer_host/media/video_capture_host_unittest.cc
index e80266ab8a1751a2f937f82ec29b648962522789..a526b0483df845cb0d7ef2dd21f63e0a4fb3ca22 100644
--- a/content/browser/renderer_host/media/video_capture_host_unittest.cc
+++ b/content/browser/renderer_host/media/video_capture_host_unittest.cc
@@ -12,9 +12,11 @@
#include "base/stl_util.h"
#include "base/stringprintf.h"
#include "content/browser/browser_thread.h"
+#include "content/browser/mock_resource_context.h"
#include "content/browser/renderer_host/media/media_stream_manager.h"
#include "content/browser/renderer_host/media/video_capture_host.h"
#include "content/browser/renderer_host/media/video_capture_manager.h"
+#include "content/browser/resource_context.h"
#include "content/common/media/video_capture_messages.h"
#include "media/video/capture/video_capture_types.h"
@@ -66,7 +68,10 @@ class DumpVideo {
class MockVideoCaptureHost : public VideoCaptureHost {
public:
- MockVideoCaptureHost() : return_buffers_(false), dump_video_(false) {}
+ explicit MockVideoCaptureHost(content::ResourceContext* resource_context)
+ : VideoCaptureHost(resource_context),
+ return_buffers_(false),
+ dump_video_(false) {}
virtual ~MockVideoCaptureHost() {
STLDeleteContainerPairSecondPointers(filled_dib_.begin(),
filled_dib_.end());
@@ -187,14 +192,25 @@ class VideoCaptureHostTest : public testing::Test {
virtual void SetUp() {
// Create a message loop so VideoCaptureHostTest can use it.
message_loop_.reset(new MessageLoop(MessageLoop::TYPE_IO));
+
+ // ResourceContext must be created on the UI thread.
+ ui_thread_.reset(new BrowserThread(BrowserThread::UI, message_loop_.get()));
+
+ // MediaStreamManager must be created on the IO thread.
io_thread_.reset(new BrowserThread(BrowserThread::IO, message_loop_.get()));
- // Setup the VideoCaptureManager to use fake video capture device.
+
+ // Create a MediaStreamManager instance and hand over pointer to
+ // ResourceContext.
+ media_stream_manager_.reset(new media_stream::MediaStreamManager());
+
#ifndef TEST_REAL_CAPTURE_DEVICE
- media_stream::VideoCaptureManager* manager =
- media_stream::MediaStreamManager::Get()->video_capture_manager();
- manager->UseFakeDevice();
+ media_stream_manager_->UseFakeDevice();
#endif
- host_ = new MockVideoCaptureHost();
+
+ content::MockResourceContext::GetInstance()->set_media_stream_manager(
+ media_stream_manager_.get());
+ host_ = new MockVideoCaptureHost(
+ content::MockResourceContext::GetInstance());
// Simulate IPC channel connected.
host_->OnChannelConnected(base::GetCurrentProcId());
@@ -219,7 +235,7 @@ class VideoCaptureHostTest : public testing::Test {
// We need to continue running message_loop_ to complete all destructions.
SyncWithVideoCaptureManagerThread();
- io_thread_.reset();
+ content::MockResourceContext::GetInstance()->set_media_stream_manager(NULL);
}
// Called on the VideoCaptureManager thread.
@@ -228,8 +244,9 @@ class VideoCaptureHostTest : public testing::Test {
}
// Called on the main thread.
- static void PostQuitOnVideoCaptureManagerThread(MessageLoop* message_loop) {
- media_stream::MediaStreamManager::Get()->video_capture_manager()->
+ static void PostQuitOnVideoCaptureManagerThread(
+ MessageLoop* message_loop, content::ResourceContext* resource_context) {
+ resource_context->media_stream_manager()->video_capture_manager()->
GetMessageLoop()->PostTask(FROM_HERE,
NewRunnableFunction(
&PostQuitMessageLoop, message_loop));
@@ -242,8 +259,10 @@ class VideoCaptureHostTest : public testing::Test {
// capture device.
void SyncWithVideoCaptureManagerThread() {
message_loop_->PostTask(
- FROM_HERE, NewRunnableFunction(&PostQuitOnVideoCaptureManagerThread,
- message_loop_.get()));
+ FROM_HERE,
+ NewRunnableFunction(&PostQuitOnVideoCaptureManagerThread,
+ message_loop_.get(),
+ content::MockResourceContext::GetInstance()));
message_loop_->Run();
}
@@ -337,9 +356,12 @@ class VideoCaptureHostTest : public testing::Test {
}
scoped_refptr<MockVideoCaptureHost> host_;
+
private:
scoped_ptr<MessageLoop> message_loop_;
+ scoped_ptr<BrowserThread> ui_thread_;
scoped_ptr<BrowserThread> io_thread_;
+ scoped_ptr<media_stream::MediaStreamManager> media_stream_manager_;
DISALLOW_COPY_AND_ASSIGN(VideoCaptureHostTest);
};

Powered by Google App Engine
This is Rietveld 408576698