Index: chrome/renderer/chrome_content_renderer_client.cc |
diff --git a/chrome/renderer/chrome_content_renderer_client.cc b/chrome/renderer/chrome_content_renderer_client.cc |
index f1e19dc4cd8d6a8ad5541f963b01c2738aba108d..7959ea08bc1e6dcf3865fee9fd8e36793b95cd91 100644 |
--- a/chrome/renderer/chrome_content_renderer_client.cc |
+++ b/chrome/renderer/chrome_content_renderer_client.cc |
@@ -463,22 +463,21 @@ WebPlugin* ChromeContentRendererClient::CreatePluginReplacement( |
return placeholder->plugin(); |
} |
-webkit_media::WebMediaPlayerImpl* |
-ChromeContentRendererClient::OverrideCreateWebMediaPlayer( |
+void ChromeContentRendererClient::DeferMediaLoad( |
content::RenderView* render_view, |
- WebKit::WebFrame* frame, |
- WebKit::WebMediaPlayerClient* client, |
- base::WeakPtr<webkit_media::WebMediaPlayerDelegate> delegate, |
- const webkit_media::WebMediaPlayerParams& params) { |
+ const base::Closure& closure) { |
#if defined(OS_ANDROID) |
// Chromium for Android doesn't support prerender yet. |
- return NULL; |
+ closure.Run(); |
+ return; |
#else |
- if (!prerender::PrerenderHelper::IsPrerendering(render_view)) |
- return NULL; |
+ if (!prerender::PrerenderHelper::IsPrerendering(render_view)) { |
+ closure.Run(); |
+ return; |
+ } |
- return new prerender::PrerenderWebMediaPlayer( |
- render_view, frame, client, delegate, params); |
+ // Lifetime is tied to |render_view| via content::RenderViewObserver. |
+ new prerender::PrerenderWebMediaPlayer(render_view, closure); |
#endif |
} |