Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(3913)

Unified Diff: chrome/renderer/chrome_content_renderer_client.cc

Issue 8095007: Defer loading of audio/video tags while prerendering. (Closed) Base URL: http://git.chromium.org/git/chromium.git@trunk
Patch Set: Syncing with depot. Created 9 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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 a13506c2d5beb6c844e5ec9016e3ea9d6ae34b35..fc701723f5a310e5fe4f08313669dbcce629bf99 100644
--- a/chrome/renderer/chrome_content_renderer_client.cc
+++ b/chrome/renderer/chrome_content_renderer_client.cc
@@ -48,6 +48,7 @@
#include "chrome/renderer/page_load_histograms.h"
#include "chrome/renderer/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/renderer_tracking.h"
@@ -275,6 +276,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_glue::WebMediaPlayerDelegate> delegate,
+ media::FilterCollection* collection,
+ media::MessageLoopFactory* message_loop_factory,
+ webkit_glue::MediaStreamClient* media_stream_client,
+ media::MediaLog* media_log,
+ webkit_glue::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,

Powered by Google App Engine
This is Rietveld 408576698