| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "content/renderer/render_thread_impl.h" | 5 #include "content/renderer/render_thread_impl.h" |
| 6 | 6 |
| 7 #include <algorithm> | 7 #include <algorithm> |
| 8 #include <limits> | 8 #include <limits> |
| 9 #include <map> | 9 #include <map> |
| 10 #include <utility> | 10 #include <utility> |
| (...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 105 #include "content/renderer/input/input_handler_manager.h" | 105 #include "content/renderer/input/input_handler_manager.h" |
| 106 #include "content/renderer/input/main_thread_input_event_filter.h" | 106 #include "content/renderer/input/main_thread_input_event_filter.h" |
| 107 #include "content/renderer/media/audio_input_message_filter.h" | 107 #include "content/renderer/media/audio_input_message_filter.h" |
| 108 #include "content/renderer/media/audio_message_filter.h" | 108 #include "content/renderer/media/audio_message_filter.h" |
| 109 #include "content/renderer/media/audio_renderer_mixer_manager.h" | 109 #include "content/renderer/media/audio_renderer_mixer_manager.h" |
| 110 #include "content/renderer/media/media_stream_center.h" | 110 #include "content/renderer/media/media_stream_center.h" |
| 111 #include "content/renderer/media/midi_message_filter.h" | 111 #include "content/renderer/media/midi_message_filter.h" |
| 112 #include "content/renderer/media/render_media_client.h" | 112 #include "content/renderer/media/render_media_client.h" |
| 113 #include "content/renderer/media/renderer_gpu_video_accelerator_factories.h" | 113 #include "content/renderer/media/renderer_gpu_video_accelerator_factories.h" |
| 114 #include "content/renderer/media/video_capture_impl_manager.h" | 114 #include "content/renderer/media/video_capture_impl_manager.h" |
| 115 #include "content/renderer/mojo/thread_safe_associated_interface_ptr_provider.h" |
| 115 #include "content/renderer/net_info_helper.h" | 116 #include "content/renderer/net_info_helper.h" |
| 116 #include "content/renderer/p2p/socket_dispatcher.h" | 117 #include "content/renderer/p2p/socket_dispatcher.h" |
| 117 #include "content/renderer/render_frame_proxy.h" | 118 #include "content/renderer/render_frame_proxy.h" |
| 118 #include "content/renderer/render_process_impl.h" | 119 #include "content/renderer/render_process_impl.h" |
| 119 #include "content/renderer/render_view_impl.h" | 120 #include "content/renderer/render_view_impl.h" |
| 120 #include "content/renderer/renderer_blink_platform_impl.h" | 121 #include "content/renderer/renderer_blink_platform_impl.h" |
| 121 #include "content/renderer/scheduler/resource_dispatch_throttler.h" | 122 #include "content/renderer/scheduler/resource_dispatch_throttler.h" |
| 122 #include "content/renderer/service_worker/embedded_worker_dispatcher.h" | 123 #include "content/renderer/service_worker/embedded_worker_dispatcher.h" |
| 123 #include "content/renderer/service_worker/embedded_worker_instance_client_impl.h
" | 124 #include "content/renderer/service_worker/embedded_worker_instance_client_impl.h
" |
| 124 #include "content/renderer/service_worker/service_worker_context_client.h" | 125 #include "content/renderer/service_worker/service_worker_context_client.h" |
| (...skipping 450 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 575 | 576 |
| 576 // static | 577 // static |
| 577 mojom::RenderMessageFilter* RenderThreadImpl::current_render_message_filter() { | 578 mojom::RenderMessageFilter* RenderThreadImpl::current_render_message_filter() { |
| 578 if (g_render_message_filter_for_testing) | 579 if (g_render_message_filter_for_testing) |
| 579 return g_render_message_filter_for_testing; | 580 return g_render_message_filter_for_testing; |
| 580 DCHECK(current()); | 581 DCHECK(current()); |
| 581 return current()->render_message_filter(); | 582 return current()->render_message_filter(); |
| 582 } | 583 } |
| 583 | 584 |
| 584 // static | 585 // static |
| 586 const scoped_refptr<mojom::ThreadSafeRenderMessageFilterAssociatedPtr>& |
| 587 RenderThreadImpl::current_thread_safe_render_message_filter() { |
| 588 DCHECK(current()); |
| 589 return current()->thread_safe_render_message_filter(); |
| 590 } |
| 591 |
| 592 // static |
| 585 void RenderThreadImpl::SetRenderMessageFilterForTesting( | 593 void RenderThreadImpl::SetRenderMessageFilterForTesting( |
| 586 mojom::RenderMessageFilter* render_message_filter) { | 594 mojom::RenderMessageFilter* render_message_filter) { |
| 587 g_render_message_filter_for_testing = render_message_filter; | 595 g_render_message_filter_for_testing = render_message_filter; |
| 588 } | 596 } |
| 589 | 597 |
| 590 // In single-process mode used for debugging, we don't pass a renderer client | 598 // In single-process mode used for debugging, we don't pass a renderer client |
| 591 // ID via command line because RenderThreadImpl lives in the same process as | 599 // ID via command line because RenderThreadImpl lives in the same process as |
| 592 // the browser | 600 // the browser |
| 593 RenderThreadImpl::RenderThreadImpl( | 601 RenderThreadImpl::RenderThreadImpl( |
| 594 const InProcessChildThreadParams& params, | 602 const InProcessChildThreadParams& params, |
| (...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 681 kMaxResourceRequestsPerFlushWhenThrottled)); | 689 kMaxResourceRequestsPerFlushWhenThrottled)); |
| 682 resource_dispatcher()->set_message_sender(resource_dispatch_throttler_.get()); | 690 resource_dispatcher()->set_message_sender(resource_dispatch_throttler_.get()); |
| 683 | 691 |
| 684 media_stream_center_ = nullptr; | 692 media_stream_center_ = nullptr; |
| 685 | 693 |
| 686 blob_message_filter_ = new BlobMessageFilter(GetFileThreadTaskRunner()); | 694 blob_message_filter_ = new BlobMessageFilter(GetFileThreadTaskRunner()); |
| 687 AddFilter(blob_message_filter_.get()); | 695 AddFilter(blob_message_filter_.get()); |
| 688 db_message_filter_ = new DBMessageFilter(); | 696 db_message_filter_ = new DBMessageFilter(); |
| 689 AddFilter(db_message_filter_.get()); | 697 AddFilter(db_message_filter_.get()); |
| 690 | 698 |
| 699 thread_safe_associated_interface_ptr_provider_ = |
| 700 base::MakeUnique<ThreadSafeAssociatedInterfacePtrProvider>(channel()); |
| 701 thread_safe_render_message_filter_ = |
| 702 thread_safe_associated_interface_ptr_provider_ |
| 703 ->CreateInterfacePtr<mojom::RenderMessageFilter>(); |
| 704 |
| 691 vc_manager_.reset(new VideoCaptureImplManager()); | 705 vc_manager_.reset(new VideoCaptureImplManager()); |
| 692 | 706 |
| 693 browser_plugin_manager_.reset(new BrowserPluginManager()); | 707 browser_plugin_manager_.reset(new BrowserPluginManager()); |
| 694 AddObserver(browser_plugin_manager_.get()); | 708 AddObserver(browser_plugin_manager_.get()); |
| 695 | 709 |
| 696 #if BUILDFLAG(ENABLE_WEBRTC) | 710 #if BUILDFLAG(ENABLE_WEBRTC) |
| 697 peer_connection_tracker_.reset(new PeerConnectionTracker()); | 711 peer_connection_tracker_.reset(new PeerConnectionTracker()); |
| 698 AddObserver(peer_connection_tracker_.get()); | 712 AddObserver(peer_connection_tracker_.get()); |
| 699 | 713 |
| 700 p2p_socket_dispatcher_ = new P2PSocketDispatcher(GetIOTaskRunner().get()); | 714 p2p_socket_dispatcher_ = new P2PSocketDispatcher(GetIOTaskRunner().get()); |
| (...skipping 1407 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2108 GetChannel()->GetRemoteAssociatedInterface(&render_frame_message_filter_); | 2122 GetChannel()->GetRemoteAssociatedInterface(&render_frame_message_filter_); |
| 2109 return render_frame_message_filter_.get(); | 2123 return render_frame_message_filter_.get(); |
| 2110 } | 2124 } |
| 2111 | 2125 |
| 2112 mojom::RenderMessageFilter* RenderThreadImpl::render_message_filter() { | 2126 mojom::RenderMessageFilter* RenderThreadImpl::render_message_filter() { |
| 2113 if (!render_message_filter_) | 2127 if (!render_message_filter_) |
| 2114 GetChannel()->GetRemoteAssociatedInterface(&render_message_filter_); | 2128 GetChannel()->GetRemoteAssociatedInterface(&render_message_filter_); |
| 2115 return render_message_filter_.get(); | 2129 return render_message_filter_.get(); |
| 2116 } | 2130 } |
| 2117 | 2131 |
| 2132 const scoped_refptr<mojom::ThreadSafeRenderMessageFilterAssociatedPtr>& |
| 2133 RenderThreadImpl::thread_safe_render_message_filter() { |
| 2134 return thread_safe_render_message_filter_; |
| 2135 } |
| 2136 |
| 2118 gpu::GpuChannelHost* RenderThreadImpl::GetGpuChannel() { | 2137 gpu::GpuChannelHost* RenderThreadImpl::GetGpuChannel() { |
| 2119 if (!gpu_channel_) | 2138 if (!gpu_channel_) |
| 2120 return nullptr; | 2139 return nullptr; |
| 2121 if (gpu_channel_->IsLost()) | 2140 if (gpu_channel_->IsLost()) |
| 2122 return nullptr; | 2141 return nullptr; |
| 2123 return gpu_channel_.get(); | 2142 return gpu_channel_.get(); |
| 2124 } | 2143 } |
| 2125 | 2144 |
| 2126 void RenderThreadImpl::CreateView(mojom::CreateViewParamsPtr params) { | 2145 void RenderThreadImpl::CreateView(mojom::CreateViewParamsPtr params) { |
| 2127 CompositorDependencies* compositor_deps = this; | 2146 CompositorDependencies* compositor_deps = this; |
| (...skipping 357 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2485 } | 2504 } |
| 2486 } | 2505 } |
| 2487 | 2506 |
| 2488 void RenderThreadImpl::OnRendererInterfaceRequest( | 2507 void RenderThreadImpl::OnRendererInterfaceRequest( |
| 2489 mojom::RendererAssociatedRequest request) { | 2508 mojom::RendererAssociatedRequest request) { |
| 2490 DCHECK(!renderer_binding_.is_bound()); | 2509 DCHECK(!renderer_binding_.is_bound()); |
| 2491 renderer_binding_.Bind(std::move(request)); | 2510 renderer_binding_.Bind(std::move(request)); |
| 2492 } | 2511 } |
| 2493 | 2512 |
| 2494 } // namespace content | 2513 } // namespace content |
| OLD | NEW |