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

Unified Diff: content/renderer/render_view_impl.cc

Issue 8095007: Defer loading of audio/video tags while prerendering. (Closed) Base URL: http://git.chromium.org/git/chromium.git@trunk
Patch Set: Addressing Jam's comments. Created 9 years 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: content/renderer/render_view_impl.cc
diff --git a/content/renderer/render_view_impl.cc b/content/renderer/render_view_impl.cc
index 578eb5ee30171aa8894638deb157e7759b6acda9..2c2df303c2ab269baae36053d5570ef7d23f1162 100644
--- a/content/renderer/render_view_impl.cc
+++ b/content/renderer/render_view_impl.cc
@@ -1932,10 +1932,10 @@ WebMediaPlayer* RenderViewImpl::createMediaPlayer(
FOR_EACH_OBSERVER(
RenderViewObserver, observers_, WillCreateMediaPlayer(frame, client));
- scoped_ptr<media::MessageLoopFactory> message_loop_factory(
- new media::MessageLoopFactoryImpl());
- scoped_ptr<media::FilterCollection> collection(
- new media::FilterCollection());
+ media::MessageLoopFactory* message_loop_factory =
+ new media::MessageLoopFactoryImpl();
+ media::FilterCollection* collection = new media::FilterCollection();
+ RenderMediaLog* render_media_log = new RenderMediaLog();
// Add in any custom filter factories first.
const CommandLine* cmd_line = CommandLine::ForCurrentProcess();
@@ -1944,13 +1944,19 @@ WebMediaPlayer* RenderViewImpl::createMediaPlayer(
collection->AddAudioRenderer(new AudioRendererImpl());
}
- scoped_ptr<webkit_media::WebMediaPlayerImpl> result(
- new webkit_media::WebMediaPlayerImpl(client,
- AsWeakPtr(),
- collection.release(),
- message_loop_factory.release(),
- media_stream_impl_.get(),
- new RenderMediaLog()));
+ webkit_media::WebMediaPlayerImpl* result_ptr;
+ if (!content::GetContentClient()->renderer()->OverrideCreateWebMediaPlayer(
+ this, client, AsWeakPtr(), collection, message_loop_factory,
+ media_stream_impl_.get(), render_media_log, &result_ptr)) {
+ result_ptr = new webkit_media::WebMediaPlayerImpl(
+ client, AsWeakPtr(), collection, message_loop_factory,
+ media_stream_impl_.get(), render_media_log);
+ }
+
+ DCHECK(result_ptr);
+ scoped_ptr<webkit_media::WebMediaPlayerImpl> result;
+ result.reset(result_ptr);
+
if (!result->Initialize(frame,
cmd_line->HasSwitch(switches::kSimpleDataSource))) {
return NULL;

Powered by Google App Engine
This is Rietveld 408576698