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()) |