Index: content/renderer/render_view_impl.cc |
diff --git a/content/renderer/render_view_impl.cc b/content/renderer/render_view_impl.cc |
index d3dfc1fe4493f09bff42d1f8dcd7b8653760042b..ca7e02c4cafe6c1b0cc7bf4bf9ffd7f4198eaea3 100644 |
--- a/content/renderer/render_view_impl.cc |
+++ b/content/renderer/render_view_impl.cc |
@@ -1945,12 +1945,21 @@ WebMediaPlayer* RenderViewImpl::createMediaPlayer( |
collection->AddVideoRenderer(renderer); |
video_renderer = renderer; |
- scoped_ptr<webkit_glue::WebMediaPlayerImpl> result( |
- new webkit_glue::WebMediaPlayerImpl(client, |
- collection.release(), |
- message_loop_factory.release(), |
- media_stream_impl_.get(), |
- new RenderMediaLog())); |
+ scoped_ptr<webkit_glue::WebMediaPlayerImpl> result; |
+ if (content::GetContentClient()->renderer() |
+ ->ShouldOverrideCreateWebMediaPlayer(this)) { |
+ webkit_glue::WebMediaPlayerImpl* result_ptr; |
+ content::GetContentClient()->renderer()->OverrideCreateWebMediaPlayer( |
+ this, client, collection.release(), message_loop_factory.release(), |
+ media_stream_impl_.get(), new RenderMediaLog(), &result_ptr); |
+ DCHECK(result_ptr); |
+ result.reset(result_ptr); |
+ } else { |
+ result.reset(new webkit_glue::WebMediaPlayerImpl(client, |
+ collection.release(), message_loop_factory.release(), |
+ media_stream_impl_.get(), new RenderMediaLog())); |
+ } |
+ |
if (!result->Initialize(frame, |
cmd_line->HasSwitch(switches::kSimpleDataSource), |
video_renderer)) { |