Chromium Code Reviews| Index: content/renderer/render_thread_impl.cc |
| diff --git a/content/renderer/render_thread_impl.cc b/content/renderer/render_thread_impl.cc |
| index 5426e8aa67a192bfd5a4f6cd25242ab1ecd53418..b03269f9d5c7adc4d441f30a3666332d48443b3e 100644 |
| --- a/content/renderer/render_thread_impl.cc |
| +++ b/content/renderer/render_thread_impl.cc |
| @@ -112,6 +112,7 @@ |
| #include "content/renderer/media/render_media_client.h" |
| #include "content/renderer/media/renderer_gpu_video_accelerator_factories.h" |
| #include "content/renderer/media/video_capture_impl_manager.h" |
| +#include "content/renderer/mojo/thread_safe_associated_interface_ptr_provider.h" |
| #include "content/renderer/net_info_helper.h" |
| #include "content/renderer/p2p/socket_dispatcher.h" |
| #include "content/renderer/render_frame_proxy.h" |
| @@ -586,6 +587,13 @@ mojom::RenderMessageFilter* RenderThreadImpl::current_render_message_filter() { |
| } |
| // static |
| +const scoped_refptr<mojom::ThreadSafeRenderMessageFilterAssociatedPtr>& |
| +RenderThreadImpl::current_thread_safe_render_message_filter() { |
| + DCHECK(current()); |
| + return current()->thread_safe_render_message_filter(); |
| +} |
| + |
| +// static |
| void RenderThreadImpl::SetRenderMessageFilterForTesting( |
| mojom::RenderMessageFilter* render_message_filter) { |
| g_render_message_filter_for_testing = render_message_filter; |
| @@ -692,6 +700,12 @@ void RenderThreadImpl::Init( |
| db_message_filter_ = new DBMessageFilter(); |
| AddFilter(db_message_filter_.get()); |
| + thread_safe_associated_interface_ptr_provider_ = |
| + base::MakeUnique<ThreadSafeAssociatedInterfacePtrProvider>(channel()); |
|
yzshen1
2016/11/28 18:05:45
I thought channel()'s return value didn't pass own
Jay Civelli
2016/11/28 18:46:10
It does not pass ownership. Here we are taking own
yzshen1
2016/11/28 18:50:21
Ah, I see, it calls the constructor of ThreadSafeA
|
| + thread_safe_render_message_filter_ = |
| + thread_safe_associated_interface_ptr_provider_ |
| + ->CreateInterfacePtr<mojom::RenderMessageFilter>(); |
| + |
| vc_manager_.reset(new VideoCaptureImplManager()); |
| browser_plugin_manager_.reset(new BrowserPluginManager()); |
| @@ -2119,6 +2133,11 @@ mojom::RenderMessageFilter* RenderThreadImpl::render_message_filter() { |
| return render_message_filter_.get(); |
| } |
| +const scoped_refptr<mojom::ThreadSafeRenderMessageFilterAssociatedPtr>& |
| +RenderThreadImpl::thread_safe_render_message_filter() { |
| + return thread_safe_render_message_filter_; |
| +} |
| + |
| gpu::GpuChannelHost* RenderThreadImpl::GetGpuChannel() { |
| if (!gpu_channel_) |
| return nullptr; |