Chromium Code Reviews| Index: content/renderer/render_frame_impl.cc |
| diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_frame_impl.cc |
| index 6922b947253cc39923dc5db901a027ecb94979f6..b4d8077b9eaa5f5f8722dc706f17580ee8524ab0 100644 |
| --- a/content/renderer/render_frame_impl.cc |
| +++ b/content/renderer/render_frame_impl.cc |
| @@ -2808,15 +2808,6 @@ blink::WebPlugin* RenderFrameImpl::CreatePlugin( |
| #endif // BUILDFLAG(ENABLE_PLUGINS) |
| } |
| -const scoped_refptr<RenderMediaLog>& RenderFrameImpl::GetMediaLog() { |
| - if (!media_log_.get()) { |
| - media_log_ = |
| - new RenderMediaLog(url::Origin(frame_->GetSecurityOrigin()).GetURL()); |
| - } |
| - |
| - return media_log_; |
| -} |
| - |
| blink::WebMediaPlayer* RenderFrameImpl::CreateMediaPlayer( |
| const blink::WebMediaPlayerSource& source, |
| WebMediaPlayerClient* client, |
| @@ -2852,6 +2843,11 @@ blink::WebMediaPlayer* RenderFrameImpl::CreateMediaPlayer( |
| &GetSharedMainThreadContext3D, |
| RenderThreadImpl::current()->SharedMainThreadContextProvider()); |
| + // This must be created for every new WebMediaPlayer, each instance generates |
| + // a new player id which is used to collate logs on the browser side. |
|
xhwang
2017/04/14 22:56:42
Add a TODO to pass std::unique<MediaLog> here so t
|
| + scoped_refptr<media::MediaLog> media_log( |
| + new RenderMediaLog(url::Origin(frame_->GetSecurityOrigin()).GetURL())); |
| + |
| bool embedded_media_experience_enabled = false; |
| #if defined(OS_ANDROID) |
| if (!UseMediaPlayerRenderer(url) && !media_surface_manager_) |
| @@ -2891,8 +2887,7 @@ blink::WebMediaPlayer* RenderFrameImpl::CreateMediaPlayer( |
| base::Unretained(GetContentClient()->renderer()), |
| static_cast<RenderFrame*>(this), |
| GetWebMediaPlayerDelegate()->has_played_media()), |
| - audio_renderer_sink, GetMediaLog(), |
| - render_thread->GetMediaThreadTaskRunner(), |
| + audio_renderer_sink, media_log, render_thread->GetMediaThreadTaskRunner(), |
| render_thread->GetWorkerTaskRunner(), |
| render_thread->compositor_task_runner(), context_3d_cb, |
| base::Bind(&v8::Isolate::AdjustAmountOfExternalAllocatedMemory, |
| @@ -2930,7 +2925,7 @@ blink::WebMediaPlayer* RenderFrameImpl::CreateMediaPlayer( |
| if (base::CommandLine::ForCurrentProcess()->HasSwitch( |
| switches::kDisableMojoRenderer)) { |
| media_renderer_factory = base::MakeUnique<media::DefaultRendererFactory>( |
| - GetMediaLog(), GetDecoderFactory(), |
| + media_log, GetDecoderFactory(), |
| base::Bind(&RenderThreadImpl::GetGpuFactories, |
| base::Unretained(render_thread))); |
| } |
| @@ -2943,7 +2938,7 @@ blink::WebMediaPlayer* RenderFrameImpl::CreateMediaPlayer( |
| } |
| #else |
| media_renderer_factory = base::MakeUnique<media::DefaultRendererFactory>( |
| - GetMediaLog(), GetDecoderFactory(), |
| + media_log, GetDecoderFactory(), |
| base::Bind(&RenderThreadImpl::GetGpuFactories, |
| base::Unretained(render_thread))); |
| #endif // defined(ENABLE_MOJO_RENDERER) |
| @@ -4674,7 +4669,8 @@ blink::WebEncryptedMediaClient* RenderFrameImpl::EncryptedMediaClient() { |
| // callback. |
| base::Bind(&RenderFrameImpl::AreSecureCodecsSupported, |
| base::Unretained(this)), |
| - GetCdmFactory(), GetMediaPermission(), GetMediaLog())); |
| + GetCdmFactory(), GetMediaPermission(), |
| + new RenderMediaLog(url::Origin(frame_->GetSecurityOrigin()).GetURL()))); |
| } |
| return web_encrypted_media_client_.get(); |
| } |