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 8887a3dd1ac3e86347b1e38ce81d5d8d7f304b94..a3a7cac88ec5330732498c26be07f3b6f3eb885e 100644 |
| --- a/content/renderer/render_frame_impl.cc |
| +++ b/content/renderer/render_frame_impl.cc |
| @@ -2798,6 +2798,15 @@ 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()); |
|
jochen (gone - plz use gerrit)
2017/04/06 13:00:05
what happens if the security origin is opaque?
chcunningham
2017/04/06 20:48:34
xhwang - do you know? I took a quick look at the r
xhwang
2017/04/06 21:05:15
jochen: What exactly do you mean by "opaque origin
jochen (gone - plz use gerrit)
2017/04/07 07:05:25
yeah, unique origins are called opaque in the spec
|
| + } |
| + |
| + return media_log_; |
| +} |
| + |
| blink::WebMediaPlayer* RenderFrameImpl::createMediaPlayer( |
| const blink::WebMediaPlayerSource& source, |
| WebMediaPlayerClient* client, |
| @@ -2833,9 +2842,6 @@ blink::WebMediaPlayer* RenderFrameImpl::createMediaPlayer( |
| &GetSharedMainThreadContext3D, |
| RenderThreadImpl::current()->SharedMainThreadContextProvider()); |
| - 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_) |
| @@ -2865,7 +2871,8 @@ blink::WebMediaPlayer* RenderFrameImpl::createMediaPlayer( |
| base::Unretained(GetContentClient()->renderer()), |
| static_cast<RenderFrame*>(this), |
| GetWebMediaPlayerDelegate()->has_played_media()), |
| - audio_renderer_sink, media_log, render_thread->GetMediaThreadTaskRunner(), |
| + audio_renderer_sink, GetMediaLog(), |
| + render_thread->GetMediaThreadTaskRunner(), |
| render_thread->GetWorkerTaskRunner(), |
| render_thread->compositor_task_runner(), context_3d_cb, |
| base::Bind(&v8::Isolate::AdjustAmountOfExternalAllocatedMemory, |
| @@ -2904,7 +2911,7 @@ blink::WebMediaPlayer* RenderFrameImpl::createMediaPlayer( |
| if (base::CommandLine::ForCurrentProcess()->HasSwitch( |
| switches::kDisableMojoRenderer)) { |
| media_renderer_factory = base::MakeUnique<media::DefaultRendererFactory>( |
| - media_log, GetDecoderFactory(), |
| + GetMediaLog(), GetDecoderFactory(), |
| base::Bind(&RenderThreadImpl::GetGpuFactories, |
| base::Unretained(render_thread))); |
| } |
| @@ -2917,7 +2924,7 @@ blink::WebMediaPlayer* RenderFrameImpl::createMediaPlayer( |
| } |
| #else |
| media_renderer_factory = base::MakeUnique<media::DefaultRendererFactory>( |
| - media_log, GetDecoderFactory(), |
| + GetMediaLog(), GetDecoderFactory(), |
| base::Bind(&RenderThreadImpl::GetGpuFactories, |
| base::Unretained(render_thread))); |
| #endif // defined(ENABLE_MOJO_RENDERER) |
| @@ -4656,7 +4663,7 @@ blink::WebEncryptedMediaClient* RenderFrameImpl::encryptedMediaClient() { |
| // callback. |
| base::Bind(&RenderFrameImpl::AreSecureCodecsSupported, |
| base::Unretained(this)), |
| - GetCdmFactory(), GetMediaPermission())); |
| + GetCdmFactory(), GetMediaPermission(), GetMediaLog())); |
| } |
| return web_encrypted_media_client_.get(); |
| } |