| 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 |