Index: content/renderer/render_view.cc |
diff --git a/content/renderer/render_view.cc b/content/renderer/render_view.cc |
index dde299273eddc9d4ae5b8a53c785517c4e798b93..f4fd83ab4f2cdb8f55c7d3dc032b901ea30bfa4c 100644 |
--- a/content/renderer/render_view.cc |
+++ b/content/renderer/render_view.cc |
@@ -1917,12 +1917,21 @@ WebMediaPlayer* RenderView::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)) { |