| Index: content/browser/renderer_host/media/video_capture_manager_unittest.cc
|
| diff --git a/content/browser/renderer_host/media/video_capture_manager_unittest.cc b/content/browser/renderer_host/media/video_capture_manager_unittest.cc
|
| index 9b18576af8ef152ecb657d3ec29164196646977a..2b063b3d2268ca4d363e586eeac3d9e2f66cfc23 100644
|
| --- a/content/browser/renderer_host/media/video_capture_manager_unittest.cc
|
| +++ b/content/browser/renderer_host/media/video_capture_manager_unittest.cc
|
| @@ -43,8 +43,9 @@ class MockMediaStreamProviderListener : public MediaStreamProviderListener {
|
| MOCK_METHOD3(Error, void(MediaStreamType, int,
|
| MediaStreamProviderError));
|
|
|
| - virtual void DevicesEnumerated(MediaStreamType stream_type,
|
| - const StreamDeviceInfoArray& devices) {
|
| + virtual void DevicesEnumerated(
|
| + MediaStreamType stream_type,
|
| + const StreamDeviceInfoArray& devices) OVERRIDE {
|
| devices_.clear();
|
| for (StreamDeviceInfoArray::const_iterator it = devices.begin();
|
| it != devices.end();
|
| @@ -62,66 +63,34 @@ class MockMediaStreamProviderListener : public MediaStreamProviderListener {
|
| namespace {
|
|
|
| // Needed as an input argument to Start().
|
| -class MockFrameObserver: public media::VideoCaptureDevice::EventHandler {
|
| +class MockFrameObserver : public media::VideoCaptureDevice::EventHandler {
|
| public:
|
| - virtual void OnError() {}
|
| + virtual void OnError() OVERRIDE {}
|
| void OnFrameInfo(const media::VideoCaptureCapability& info) {}
|
| virtual void OnIncomingCapturedFrame(const uint8* data, int length,
|
| - base::Time timestamp) {}
|
| + base::Time timestamp) OVERRIDE {}
|
| };
|
|
|
| // Test class
|
| class VideoCaptureManagerTest : public testing::Test {
|
| public:
|
| - VideoCaptureManagerTest()
|
| - : vcm_(),
|
| - listener_(),
|
| - message_loop_(),
|
| - io_thread_(),
|
| - frame_observer_() {
|
| - }
|
| + VideoCaptureManagerTest() {}
|
| virtual ~VideoCaptureManagerTest() {}
|
|
|
| protected:
|
| - virtual void SetUp() {
|
| + virtual void SetUp() OVERRIDE {
|
| listener_.reset(new media_stream::MockMediaStreamProviderListener());
|
| message_loop_.reset(new MessageLoop(MessageLoop::TYPE_IO));
|
| io_thread_.reset(new BrowserThreadImpl(BrowserThread::IO,
|
| message_loop_.get()));
|
| vcm_ = new media_stream::VideoCaptureManager();
|
| vcm_->UseFakeDevice();
|
| - vcm_->Register(listener_.get());
|
| + vcm_->Register(listener_.get(), message_loop_->message_loop_proxy());
|
| frame_observer_.reset(new MockFrameObserver());
|
| }
|
|
|
| - virtual void TearDown() {
|
| - io_thread_.reset();
|
| - }
|
| -
|
| - // Called on the VideoCaptureManager thread.
|
| - static void PostQuitMessageLoop(MessageLoop* message_loop) {
|
| - message_loop->PostTask(FROM_HERE, MessageLoop::QuitClosure());
|
| - }
|
| + virtual void TearDown() OVERRIDE {}
|
|
|
| - // Called on the main thread.
|
| - static void PostQuitOnVideoCaptureManagerThread(
|
| - MessageLoop* message_loop, media_stream::VideoCaptureManager* vcm) {
|
| - vcm->GetMessageLoop()->PostTask(
|
| - FROM_HERE, base::Bind(&PostQuitMessageLoop, message_loop));
|
| - }
|
| -
|
| - // SyncWithVideoCaptureManagerThread() waits until all pending tasks on the
|
| - // video_capture_manager internal thread are executed while also processing
|
| - // pending task in message_loop_ on the current thread. It is used to
|
| - // synchronize with the video capture manager thread when we are stopping a
|
| - // video capture device.
|
| - void SyncWithVideoCaptureManagerThread() {
|
| - message_loop_->PostTask(
|
| - FROM_HERE, base::Bind(&PostQuitOnVideoCaptureManagerThread,
|
| - message_loop_.get(),
|
| - vcm_));
|
| - message_loop_->Run();
|
| - }
|
| scoped_refptr<media_stream::VideoCaptureManager> vcm_;
|
| scoped_ptr<media_stream::MockMediaStreamProviderListener> listener_;
|
| scoped_ptr<MessageLoop> message_loop_;
|
| @@ -149,7 +118,7 @@ TEST_F(VideoCaptureManagerTest, CreateAndClose) {
|
| vcm_->EnumerateDevices();
|
|
|
| // Wait to get device callback.
|
| - SyncWithVideoCaptureManagerThread();
|
| + message_loop_->RunAllPending();
|
|
|
| int video_session_id = vcm_->Open(listener_->devices_.front());
|
|
|
| @@ -164,7 +133,7 @@ TEST_F(VideoCaptureManagerTest, CreateAndClose) {
|
| vcm_->Close(video_session_id);
|
|
|
| // Wait to check callbacks before removing the listener.
|
| - SyncWithVideoCaptureManagerThread();
|
| + message_loop_->RunAllPending();
|
| vcm_->Unregister();
|
| }
|
|
|
| @@ -183,7 +152,7 @@ TEST_F(VideoCaptureManagerTest, OpenTwice) {
|
| vcm_->EnumerateDevices();
|
|
|
| // Wait to get device callback.
|
| - SyncWithVideoCaptureManagerThread();
|
| + message_loop_->RunAllPending();
|
|
|
| int video_session_id_first = vcm_->Open(listener_->devices_.front());
|
|
|
| @@ -196,7 +165,7 @@ TEST_F(VideoCaptureManagerTest, OpenTwice) {
|
| vcm_->Close(video_session_id_second);
|
|
|
| // Wait to check callbacks before removing the listener.
|
| - SyncWithVideoCaptureManagerThread();
|
| + message_loop_->RunAllPending();
|
| vcm_->Unregister();
|
| }
|
|
|
| @@ -215,7 +184,7 @@ TEST_F(VideoCaptureManagerTest, OpenTwo) {
|
| vcm_->EnumerateDevices();
|
|
|
| // Wait to get device callback.
|
| - SyncWithVideoCaptureManagerThread();
|
| + message_loop_->RunAllPending();
|
|
|
| media_stream::StreamDeviceInfoArray::iterator it =
|
| listener_->devices_.begin();
|
| @@ -228,7 +197,7 @@ TEST_F(VideoCaptureManagerTest, OpenTwo) {
|
| vcm_->Close(video_session_id_second);
|
|
|
| // Wait to check callbacks before removing the listener.
|
| - SyncWithVideoCaptureManagerThread();
|
| + message_loop_->RunAllPending();
|
| vcm_->Unregister();
|
| }
|
|
|
| @@ -244,7 +213,7 @@ TEST_F(VideoCaptureManagerTest, OpenNotExisting) {
|
| vcm_->EnumerateDevices();
|
|
|
| // Wait to get device callback.
|
| - SyncWithVideoCaptureManagerThread();
|
| + message_loop_->RunAllPending();
|
|
|
| media_stream::MediaStreamType stream_type =
|
| content::MEDIA_STREAM_DEVICE_TYPE_VIDEO_CAPTURE;
|
| @@ -257,7 +226,7 @@ TEST_F(VideoCaptureManagerTest, OpenNotExisting) {
|
| vcm_->Open(dummy_device);
|
|
|
| // Wait to check callbacks before removing the listener.
|
| - SyncWithVideoCaptureManagerThread();
|
| + message_loop_->RunAllPending();
|
| vcm_->Unregister();
|
| }
|
|
|
| @@ -286,7 +255,7 @@ TEST_F(VideoCaptureManagerTest, StartUsingId) {
|
| base::Closure());
|
|
|
| // Wait to check callbacks before removing the listener.
|
| - SyncWithVideoCaptureManagerThread();
|
| + message_loop_->RunAllPending();
|
| vcm_->Unregister();
|
| }
|
|
|
| @@ -305,7 +274,7 @@ TEST_F(VideoCaptureManagerTest, CloseWithoutStop) {
|
| vcm_->EnumerateDevices();
|
|
|
| // Wait to get device callback.
|
| - SyncWithVideoCaptureManagerThread();
|
| + message_loop_->RunAllPending();
|
|
|
| int video_session_id = vcm_->Open(listener_->devices_.front());
|
|
|
| @@ -322,7 +291,7 @@ TEST_F(VideoCaptureManagerTest, CloseWithoutStop) {
|
| vcm_->Stop(video_session_id, base::Closure());
|
|
|
| // Wait to check callbacks before removing the listener
|
| - SyncWithVideoCaptureManagerThread();
|
| + message_loop_->RunAllPending();
|
| vcm_->Unregister();
|
| }
|
|
|
|
|