Chromium Code Reviews| Index: content/browser/renderer_host/media/web_contents_video_capture_device.cc |
| diff --git a/content/browser/renderer_host/media/web_contents_video_capture_device.cc b/content/browser/renderer_host/media/web_contents_video_capture_device.cc |
| index 8b30cb18d8b4aa4995101dadc658e0537be84d18..d760b1c13806203dc164a9c34cb0794abcd1926e 100644 |
| --- a/content/browser/renderer_host/media/web_contents_video_capture_device.cc |
| +++ b/content/browser/renderer_host/media/web_contents_video_capture_device.cc |
| @@ -73,7 +73,7 @@ |
| #include "ui/gfx/rect.h" |
| #include "ui/gfx/skia_util.h" |
| -// Used to self-trampoline invocation of methods to the approprate thread. This |
| +// Used to self-trampoline invocation of methods to the appropriate thread. This |
| // should be used sparingly, only when it's not clear which thread is invoking a |
| // method. |
| #define ENSURE_INVOKED_ON_THREAD(thread, ...) { \ |
| @@ -146,10 +146,6 @@ class BackingStoreCopier : public WebContentsObserver { |
| virtual ~BackingStoreCopier(); |
| - // If non-NULL, use the given |override| to access the backing store. |
| - // This is used for unit testing. |
| - void SetRenderWidgetHostForTesting(RenderWidgetHost* override); |
| - |
| // Starts the copy from the backing store. Must be run on the UI |
| // BrowserThread. Resulting frame is conveyed back to |consumer|. |
| void StartCopy(const scoped_refptr<CaptureMachine>& consumer, |
| @@ -205,10 +201,6 @@ class BackingStoreCopier : public WebContentsObserver { |
| // Last known RenderView size. |
| gfx::Size last_view_size_; |
| - // If the following is NULL (normal behavior), the implementation should |
| - // access RenderWidgetHost via web_contents(). |
| - RenderWidgetHost* rwh_for_testing_; |
| - |
| DISALLOW_COPY_AND_ASSIGN(BackingStoreCopier); |
| }; |
| @@ -319,8 +311,9 @@ class VideoFrameDeliverer { |
| BackingStoreCopier::BackingStoreCopier(int render_process_id, |
| int render_view_id) |
| - : render_process_id_(render_process_id), render_view_id_(render_view_id), |
| - fullscreen_widget_id_(MSG_ROUTING_NONE), rwh_for_testing_(NULL) {} |
| + : render_process_id_(render_process_id), |
| + render_view_id_(render_view_id), |
| + fullscreen_widget_id_(MSG_ROUTING_NONE) {} |
| BackingStoreCopier::~BackingStoreCopier() { |
| DCHECK(!web_contents()); |
| @@ -369,11 +362,6 @@ void BackingStoreCopier::LookUpAndObserveWebContents() { |
| } |
| } |
| -void BackingStoreCopier::SetRenderWidgetHostForTesting( |
| - RenderWidgetHost* override) { |
| - rwh_for_testing_ = override; |
| -} |
| - |
| VideoFrameRenderer::VideoFrameRenderer() |
| : render_thread_("WebContentsVideo_RenderThread") { |
| output_[0].in_use = false; |
| @@ -673,12 +661,6 @@ class CaptureMachine |
| CaptureMachine(int render_process_id, int render_view_id); |
| - // Sets the capture source to the given |override| for unit testing. |
| - // Also, |destroy_cb| will be invoked after CaptureMachine is fully destroyed |
| - // (to synchronize tear-down). |
| - void InitializeForTesting(RenderWidgetHost* override, |
|
miu
2013/02/20 06:45:10
For the tests, how can you be sure CaptureMachine
ncarter (slow)
2013/02/22 02:16:11
This is moot now, but the old code did reliably ru
|
| - const base::Closure& destroy_cb); |
| - |
| // Synchronously sets/unsets the consumer. Pass |consumer| as NULL to remove |
| // the reference to the consumer; then, once this method returns, |
| // CaptureMachine will no longer invoke callbacks on the old consumer from any |
| @@ -773,8 +755,6 @@ class CaptureMachine |
| VideoFrameRenderer renderer_; |
| VideoFrameDeliverer deliverer_; |
| - base::Closure destroy_cb_; // Invoked once CaptureMachine is destroyed. |
| - |
| DISALLOW_COPY_AND_ASSIGN(CaptureMachine); |
| }; |
| @@ -788,12 +768,6 @@ CaptureMachine::CaptureMachine(int render_process_id, int render_view_id) |
| manager_thread_.Start(); |
| } |
| -void CaptureMachine::InitializeForTesting(RenderWidgetHost* override, |
| - const base::Closure& destroy_cb) { |
| - copier_.SetRenderWidgetHostForTesting(override); |
| - destroy_cb_ = destroy_cb; |
| -} |
| - |
| void CaptureMachine::SetConsumer( |
| media::VideoCaptureDevice::EventHandler* consumer) { |
| consumer_.SetConsumer(consumer); |
| @@ -905,12 +879,7 @@ void CaptureMachine::Destruct(const CaptureMachine* x) { |
| // static |
| void CaptureMachine::DeleteFromOutsideThread(const CaptureMachine* x) { |
| - const base::Closure run_after_delete = x->destroy_cb_; |
| - // Note: Thread joins are about to happen here (in ~CaptureThread()). |
|
miu
2013/02/20 06:45:10
This comment should be retained (it's not related
ncarter (slow)
2013/02/22 02:16:11
Done.
|
| delete x; |
| - if (!run_after_delete.is_null()) { |
| - run_after_delete.Run(); |
| - } |
| } |
| void CaptureMachine::TransitionStateTo(State next_state) { |
| @@ -1101,31 +1070,27 @@ void BackingStoreCopier::StartCopy( |
| int desired_height) { |
| DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
| - RenderWidgetHost* rwh; |
| - if (rwh_for_testing_) { |
| - rwh = rwh_for_testing_; |
| - } else { |
| - if (!web_contents()) { // No source yet. |
| - LookUpAndObserveWebContents(); |
| - if (!web_contents()) { // No source ever. |
| - consumer->OnSnapshotFailed(CaptureMachine::NO_SOURCE, frame_number); |
| - return; |
| - } |
| + if (!web_contents()) { // No source yet. |
| + LookUpAndObserveWebContents(); |
| + if (!web_contents()) { // No source ever. |
| + consumer->OnSnapshotFailed(CaptureMachine::NO_SOURCE, frame_number); |
| + return; |
| } |
| + } |
| - if (fullscreen_widget_id_ != MSG_ROUTING_NONE) { |
| - RenderProcessHost* process = web_contents()->GetRenderProcessHost(); |
| - rwh = process ? process->GetRenderWidgetHostByID(fullscreen_widget_id_) |
| - : NULL; |
| - } else { |
| - rwh = web_contents()->GetRenderViewHost(); |
| - } |
| + RenderWidgetHost* rwh; |
| + if (fullscreen_widget_id_ != MSG_ROUTING_NONE) { |
| + RenderProcessHost* process = web_contents()->GetRenderProcessHost(); |
| + rwh = process ? process->GetRenderWidgetHostByID(fullscreen_widget_id_) |
| + : NULL; |
| + } else { |
| + rwh = web_contents()->GetRenderViewHost(); |
| + } |
| - if (!rwh) { |
| - // Transient failure state (e.g., a RenderView is being replaced). |
| - consumer->OnSnapshotFailed(CaptureMachine::TRANSIENT_ERROR, frame_number); |
| - return; |
| - } |
| + if (!rwh) { |
| + // Transient failure state (e.g., a RenderView is being replaced). |
| + consumer->OnSnapshotFailed(CaptureMachine::TRANSIENT_ERROR, frame_number); |
| + return; |
| } |
| RenderWidgetHostViewPort* view = |
| @@ -1232,14 +1197,6 @@ WebContentsVideoCaptureDevice::WebContentsVideoCaptureDevice( |
| : device_name_(name), |
| capturer_(new CaptureMachine(render_process_id, render_view_id)) {} |
| -WebContentsVideoCaptureDevice::WebContentsVideoCaptureDevice( |
| - RenderWidgetHost* test_source, const base::Closure& destroy_cb) |
| - : capturer_(new CaptureMachine(-1, -1)) { |
| - device_name_.device_name = "WebContentsForTesting"; |
| - device_name_.unique_id = "-1:-1"; |
| - capturer_->InitializeForTesting(test_source, destroy_cb); |
| -} |
| - |
| WebContentsVideoCaptureDevice::~WebContentsVideoCaptureDevice() { |
| DVLOG(2) << "WebContentsVideoCaptureDevice@" << this << " destroying."; |
| } |
| @@ -1265,12 +1222,6 @@ media::VideoCaptureDevice* WebContentsVideoCaptureDevice::Create( |
| name, render_process_id, render_view_id); |
| } |
| -// static |
| -media::VideoCaptureDevice* WebContentsVideoCaptureDevice::CreateForTesting( |
| - RenderWidgetHost* test_source, const base::Closure& destroy_cb) { |
| - return new WebContentsVideoCaptureDevice(test_source, destroy_cb); |
| -} |
| - |
| void WebContentsVideoCaptureDevice::Allocate( |
| int width, int height, int frame_rate, |
| VideoCaptureDevice::EventHandler* consumer) { |