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 8b2b4a54defc52440597e4852fa166245833d136..c1e90a3686669c49c55bd7e2106e2a257d8c9645 100644 | 
| --- a/content/renderer/render_view_impl.cc | 
| +++ b/content/renderer/render_view_impl.cc | 
| @@ -183,6 +183,7 @@ | 
| #if defined(OS_ANDROID) | 
| #include "webkit/media/android/webmediaplayer_android.h" | 
| +#include "webkit/media/android/webmediaplayer_manager_android.h" | 
| #elif defined(OS_WIN) | 
| // TODO(port): these files are currently Windows only because they concern: | 
| // * theming | 
| @@ -565,6 +566,11 @@ RenderViewImpl::RenderViewImpl( | 
| new TextInputClientObserver(this); | 
| #endif // defined(OS_MACOSX) | 
| +#if defined(OS_ANDROID) | 
| + media_player_manager_.reset( | 
| + new webkit_media::WebMediaPlayerManagerAndroid(routing_id_)); | 
| +#endif | 
| + | 
| // The next group of objects all implement RenderViewObserver, so are deleted | 
| // along with the RenderView automatically. | 
| devtools_agent_ = new DevToolsAgent(this); | 
| @@ -2207,8 +2213,10 @@ WebMediaPlayer* RenderViewImpl::createMediaPlayer( | 
| RenderViewObserver, observers_, WillCreateMediaPlayer(frame, client)); | 
| #if defined(OS_ANDROID) | 
| + // TODO(qinmin): upstream the implementation of StreamTextureFactoryImpl | 
| + // to replace the NULL param here. | 
| return new webkit_media::WebMediaPlayerAndroid( | 
| - client, cookieJar(frame)); | 
| + client, cookieJar(frame), media_player_manager_.get(), NULL); | 
| #endif | 
| media::MessageLoopFactory* message_loop_factory = | 
| @@ -4897,6 +4905,11 @@ void RenderViewImpl::DidHandleTouchEvent(const WebTouchEvent& event) { | 
| void RenderViewImpl::OnWasHidden() { | 
| RenderWidget::OnWasHidden(); | 
| +#if defined(OS_ANDROID) | 
| + // Inform WebMediaPlayerManagerAndroid to release all media player resources. | 
| + media_player_manager_->ReleaseMediaResources(); | 
| 
 
scherkus (not reviewing)
2012/05/23 22:45:46
do we not want to do anything when we're restored?
 
qinmin
2012/05/24 20:30:28
I will address this when upstreaming the next patc
 
 | 
| +#endif | 
| + | 
| if (webview()) { | 
| webview()->settings()->setMinimumTimerInterval( | 
| webkit_glue::kBackgroundTabTimerInterval); |