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 86623cc9cfc8465227b45b83279777fc4b43ecb6..fc2400d7e9db8e958218af41cecbbc75c507654a 100644 |
--- a/chrome/renderer/chrome_content_renderer_client.cc |
+++ b/chrome/renderer/chrome_content_renderer_client.cc |
@@ -49,6 +49,7 @@ |
#include "chrome/renderer/plugins/missing_plugin.h" |
#include "chrome/renderer/plugins/plugin_uma.h" |
#include "chrome/renderer/prerender/prerender_helper.h" |
+#include "chrome/renderer/prerender/prerender_webmediaplayer.h" |
#include "chrome/renderer/print_web_view_helper.h" |
#include "chrome/renderer/renderer_histogram_snapshots.h" |
#include "chrome/renderer/safe_browsing/malware_dom_details.h" |
@@ -272,6 +273,26 @@ bool ChromeContentRendererClient::OverrideCreatePlugin( |
return true; |
} |
+bool ChromeContentRendererClient::ShouldOverrideCreateWebMediaPlayer( |
+ content::RenderView* view) { |
+ return prerender::PrerenderHelper::IsPrerendering(view); |
+} |
+ |
+void ChromeContentRendererClient::OverrideCreateWebMediaPlayer( |
+ content::RenderView* render_view, |
+ WebKit::WebMediaPlayerClient* client, |
+ base::WeakPtr<webkit_media::WebMediaPlayerDelegate> delegate, |
+ media::FilterCollection* collection, |
+ media::MessageLoopFactory* message_loop_factory, |
+ webkit_media::MediaStreamClient* media_stream_client, |
+ media::MediaLog* media_log, |
+ webkit_media::WebMediaPlayerImpl** player) { |
+ DCHECK(ShouldOverrideCreateWebMediaPlayer(render_view)); |
+ *player = new prerender::PrerenderWebMediaPlayer(render_view, client, |
+ delegate, collection, message_loop_factory, media_stream_client, |
+ media_log); |
+} |
+ |
WebPlugin* ChromeContentRendererClient::CreatePlugin( |
content::RenderView* render_view, |
WebFrame* frame, |