Chromium Code Reviews| Index: content/renderer/render_view_impl.cc |
| diff --git a/content/renderer/render_view_impl.cc b/content/renderer/render_view_impl.cc |
| index c7f9a0eb92b9993838a58f96540c8f57065f679e..0d99b70769c9b7f56f6da5b10ead1d5c66ef5ee6 100644 |
| --- a/content/renderer/render_view_impl.cc |
| +++ b/content/renderer/render_view_impl.cc |
| @@ -1426,6 +1426,7 @@ bool RenderViewImpl::OnMessageReceived(const IPC::Message& message) { |
| OnReleaseDisambiguationPopupDIB) |
| IPC_MESSAGE_HANDLER(ViewMsg_WindowSnapshotCompleted, |
| OnWindowSnapshotCompleted) |
| + IPC_MESSAGE_HANDLER(ViewMsg_PauseVideo, OnPauseVideo) |
| // Have the super handle all other messages. |
| IPC_MESSAGE_UNHANDLED(handled = RenderWidget::OnMessageReceived(message)) |
| @@ -5697,19 +5698,10 @@ bool RenderViewImpl::HasTouchEventHandlersAt(const gfx::Point& point) const { |
| void RenderViewImpl::OnWasHidden() { |
| RenderWidget::OnWasHidden(); |
| -#if defined(OS_ANDROID) |
| - // Inform RendererMediaPlayerManager to release all media player resources. |
| - // unless some audio is playing. |
| - // If something is in progress the resource will not be freed, it will |
| - // only be freed once the tab is destroyed or if the user navigates away |
| - // via WebMediaPlayerAndroid::Destroy |
| - media_player_manager_->ReleaseMediaResources(); |
| - |
| -#if defined(ENABLE_WEBRTC) |
| +#if defined(OS_ANDROID) && defined(ENABLE_WEBRTC) |
| RenderThreadImpl::current()->video_capture_impl_manager()-> |
| SuspendDevices(true); |
| #endif |
| -#endif |
| if (webview()) |
| webview()->setVisibilityState(visibilityState(), false); |
| @@ -5759,6 +5751,17 @@ void RenderViewImpl::OnWasShown(bool needs_repainting) { |
| #endif // ENABLE_PLUGINS |
| } |
| +void RenderViewImpl::OnPauseVideo() { |
|
boliu
2013/09/19 01:58:39
Method is no-op on desktop platforms, which is ext
benm (inactive)
2013/09/19 03:27:32
Done.
|
| +#if defined(OS_ANDROID) |
| + // Inform RendererMediaPlayerManager to release all media player resources. |
| + // unless some audio is playing. |
| + // If something is in progress the resource will not be freed, it will |
| + // only be freed once the tab is destroyed or if the user navigates away |
| + // via WebMediaPlayerAndroid::Destroy |
| + media_player_manager_->ReleaseMediaResources(); |
| +#endif |
| +} |
| + |
| GURL RenderViewImpl::GetURLForGraphicsContext3D() { |
| DCHECK(webview()); |
| if (webview()->mainFrame()) |