| 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 84 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 95 #include "content/renderer/dom_storage/webstoragenamespace_impl.h" | 95 #include "content/renderer/dom_storage/webstoragenamespace_impl.h" |
| 96 #include "content/renderer/gpu/compositor_external_begin_frame_source.h" | 96 #include "content/renderer/gpu/compositor_external_begin_frame_source.h" |
| 97 #include "content/renderer/gpu/compositor_forwarding_message_filter.h" | 97 #include "content/renderer/gpu/compositor_forwarding_message_filter.h" |
| 98 #include "content/renderer/gpu/compositor_output_surface.h" | 98 #include "content/renderer/gpu/compositor_output_surface.h" |
| 99 #include "content/renderer/gpu/frame_swap_message_queue.h" | 99 #include "content/renderer/gpu/frame_swap_message_queue.h" |
| 100 #include "content/renderer/input/input_event_filter.h" | 100 #include "content/renderer/input/input_event_filter.h" |
| 101 #include "content/renderer/input/input_handler_manager.h" | 101 #include "content/renderer/input/input_handler_manager.h" |
| 102 #include "content/renderer/input/main_thread_input_event_filter.h" | 102 #include "content/renderer/input/main_thread_input_event_filter.h" |
| 103 #include "content/renderer/media/aec_dump_message_filter.h" | 103 #include "content/renderer/media/aec_dump_message_filter.h" |
| 104 #include "content/renderer/media/audio_input_message_filter.h" | 104 #include "content/renderer/media/audio_input_message_filter.h" |
| 105 #include "content/renderer/media/audio_message_filter.h" | 105 #include "content/renderer/media/audio_output_ipc_factory.h" |
| 106 #include "content/renderer/media/audio_renderer_mixer_manager.h" | 106 #include "content/renderer/media/audio_renderer_mixer_manager.h" |
| 107 #include "content/renderer/media/media_stream_center.h" | 107 #include "content/renderer/media/media_stream_center.h" |
| 108 #include "content/renderer/media/midi_message_filter.h" | 108 #include "content/renderer/media/midi_message_filter.h" |
| 109 #include "content/renderer/media/render_media_client.h" | 109 #include "content/renderer/media/render_media_client.h" |
| 110 #include "content/renderer/media/renderer_gpu_video_accelerator_factories.h" | 110 #include "content/renderer/media/renderer_gpu_video_accelerator_factories.h" |
| 111 #include "content/renderer/media/video_capture_impl_manager.h" | 111 #include "content/renderer/media/video_capture_impl_manager.h" |
| 112 #include "content/renderer/media/video_capture_message_filter.h" | 112 #include "content/renderer/media/video_capture_message_filter.h" |
| 113 #include "content/renderer/net_info_helper.h" | 113 #include "content/renderer/net_info_helper.h" |
| 114 #include "content/renderer/p2p/socket_dispatcher.h" | 114 #include "content/renderer/p2p/socket_dispatcher.h" |
| 115 #include "content/renderer/render_frame_proxy.h" | 115 #include "content/renderer/render_frame_proxy.h" |
| 116 #include "content/renderer/render_process_impl.h" | 116 #include "content/renderer/render_process_impl.h" |
| 117 #include "content/renderer/render_view_impl.h" | 117 #include "content/renderer/render_view_impl.h" |
| 118 #include "content/renderer/renderer_blink_platform_impl.h" | 118 #include "content/renderer/renderer_blink_platform_impl.h" |
| 119 #include "content/renderer/scheduler/resource_dispatch_throttler.h" | 119 #include "content/renderer/scheduler/resource_dispatch_throttler.h" |
| 120 #include "content/renderer/service_worker/embedded_worker_dispatcher.h" | 120 #include "content/renderer/service_worker/embedded_worker_dispatcher.h" |
| 121 #include "content/renderer/service_worker/service_worker_context_client.h" | 121 #include "content/renderer/service_worker/service_worker_context_client.h" |
| 122 #include "content/renderer/service_worker/service_worker_context_message_filter.
h" | 122 #include "content/renderer/service_worker/service_worker_context_message_filter.
h" |
| 123 #include "content/renderer/shared_worker/embedded_shared_worker_stub.h" | 123 #include "content/renderer/shared_worker/embedded_shared_worker_stub.h" |
| 124 #include "gin/public/debug.h" | 124 #include "gin/public/debug.h" |
| 125 #include "gpu/GLES2/gl2extchromium.h" | 125 #include "gpu/GLES2/gl2extchromium.h" |
| 126 #include "gpu/command_buffer/client/shared_memory_limits.h" | 126 #include "gpu/command_buffer/client/shared_memory_limits.h" |
| 127 #include "gpu/ipc/client/command_buffer_proxy_impl.h" | 127 #include "gpu/ipc/client/command_buffer_proxy_impl.h" |
| 128 #include "gpu/ipc/client/gpu_channel_host.h" | 128 #include "gpu/ipc/client/gpu_channel_host.h" |
| 129 #include "ipc/ipc_channel_handle.h" | 129 #include "ipc/ipc_channel_handle.h" |
| 130 #include "ipc/ipc_channel_mojo.h" | 130 #include "ipc/ipc_channel_mojo.h" |
| 131 #include "ipc/ipc_platform_file.h" | 131 #include "ipc/ipc_platform_file.h" |
| 132 #include "media/base/media.h" | 132 #include "media/base/media.h" |
| 133 #include "media/media_features.h" |
| 133 #include "media/renderers/gpu_video_accelerator_factories.h" | 134 #include "media/renderers/gpu_video_accelerator_factories.h" |
| 134 #include "mojo/common/common_type_converters.h" | 135 #include "mojo/common/common_type_converters.h" |
| 135 #include "mojo/public/cpp/bindings/strong_binding.h" | 136 #include "mojo/public/cpp/bindings/strong_binding.h" |
| 136 #include "net/base/net_errors.h" | 137 #include "net/base/net_errors.h" |
| 137 #include "net/base/port_util.h" | 138 #include "net/base/port_util.h" |
| 138 #include "net/base/registry_controlled_domains/registry_controlled_domain.h" | 139 #include "net/base/registry_controlled_domains/registry_controlled_domain.h" |
| 139 #include "net/base/url_util.h" | 140 #include "net/base/url_util.h" |
| 140 #include "services/shell/public/cpp/interface_provider.h" | 141 #include "services/shell/public/cpp/interface_provider.h" |
| 141 #include "services/shell/public/cpp/interface_registry.h" | 142 #include "services/shell/public/cpp/interface_registry.h" |
| 142 #include "skia/ext/event_tracer_impl.h" | 143 #include "skia/ext/event_tracer_impl.h" |
| (...skipping 544 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 687 aec_dump_message_filter_ = new AecDumpMessageFilter( | 688 aec_dump_message_filter_ = new AecDumpMessageFilter( |
| 688 GetIOTaskRunner(), message_loop()->task_runner()); | 689 GetIOTaskRunner(), message_loop()->task_runner()); |
| 689 | 690 |
| 690 AddFilter(aec_dump_message_filter_.get()); | 691 AddFilter(aec_dump_message_filter_.get()); |
| 691 | 692 |
| 692 #endif // defined(ENABLE_WEBRTC) | 693 #endif // defined(ENABLE_WEBRTC) |
| 693 | 694 |
| 694 audio_input_message_filter_ = new AudioInputMessageFilter(GetIOTaskRunner()); | 695 audio_input_message_filter_ = new AudioInputMessageFilter(GetIOTaskRunner()); |
| 695 AddFilter(audio_input_message_filter_.get()); | 696 AddFilter(audio_input_message_filter_.get()); |
| 696 | 697 |
| 697 audio_message_filter_ = new AudioMessageFilter(GetIOTaskRunner()); | |
| 698 AddFilter(audio_message_filter_.get()); | |
| 699 | |
| 700 midi_message_filter_ = new MidiMessageFilter(GetIOTaskRunner()); | 698 midi_message_filter_ = new MidiMessageFilter(GetIOTaskRunner()); |
| 701 AddFilter(midi_message_filter_.get()); | 699 AddFilter(midi_message_filter_.get()); |
| 702 | 700 |
| 703 AddFilter((new IndexedDBMessageFilter(thread_safe_sender()))->GetFilter()); | 701 AddFilter((new IndexedDBMessageFilter(thread_safe_sender()))->GetFilter()); |
| 704 | 702 |
| 705 AddFilter((new CacheStorageMessageFilter(thread_safe_sender()))->GetFilter()); | 703 AddFilter((new CacheStorageMessageFilter(thread_safe_sender()))->GetFilter()); |
| 706 | 704 |
| 707 AddFilter((new ServiceWorkerContextMessageFilter())->GetFilter()); | 705 AddFilter((new ServiceWorkerContextMessageFilter())->GetFilter()); |
| 708 | 706 |
| 709 #if defined(USE_AURA) | 707 #if defined(USE_AURA) |
| 710 if (base::CommandLine::ForCurrentProcess()->HasSwitch( | 708 if (base::CommandLine::ForCurrentProcess()->HasSwitch( |
| 711 switches::kUseMusInRenderer)) { | 709 switches::kUseMusInRenderer)) { |
| 712 CreateRenderWidgetWindowTreeClientFactory(GetMojoShellConnection()); | 710 CreateRenderWidgetWindowTreeClientFactory(GetMojoShellConnection()); |
| 713 } | 711 } |
| 714 #endif | 712 #endif |
| 715 | 713 |
| 716 // Must be called before RenderThreadStarted() below. | 714 // Must be called before RenderThreadStarted() below. |
| 717 StartMojoShellConnection(); | 715 StartMojoShellConnection(); |
| 718 | 716 |
| 719 GetContentClient()->renderer()->RenderThreadStarted(); | 717 GetContentClient()->renderer()->RenderThreadStarted(); |
| 720 | 718 |
| 719 audio_output_ipc_factory_ = |
| 720 new AudioOutputIPCFactory(GetIOTaskRunner(), GetRemoteInterfaces()); |
| 721 |
| 721 InitSkiaEventTracer(); | 722 InitSkiaEventTracer(); |
| 722 base::trace_event::MemoryDumpManager::GetInstance()->RegisterDumpProvider( | 723 base::trace_event::MemoryDumpManager::GetInstance()->RegisterDumpProvider( |
| 723 skia::SkiaMemoryDumpProvider::GetInstance(), "Skia", nullptr); | 724 skia::SkiaMemoryDumpProvider::GetInstance(), "Skia", nullptr); |
| 724 | 725 |
| 725 const base::CommandLine& command_line = | 726 const base::CommandLine& command_line = |
| 726 *base::CommandLine::ForCurrentProcess(); | 727 *base::CommandLine::ForCurrentProcess(); |
| 727 | 728 |
| 728 #if defined(ENABLE_IPC_FUZZER) | 729 #if defined(ENABLE_IPC_FUZZER) |
| 729 if (command_line.HasSwitch(switches::kIpcDumpDirectory)) { | 730 if (command_line.HasSwitch(switches::kIpcDumpDirectory)) { |
| 730 base::FilePath dump_directory = | 731 base::FilePath dump_directory = |
| (...skipping 186 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 917 } | 918 } |
| 918 stream_texture_factory_ = nullptr; | 919 stream_texture_factory_ = nullptr; |
| 919 #endif | 920 #endif |
| 920 | 921 |
| 921 media_thread_.reset(); | 922 media_thread_.reset(); |
| 922 | 923 |
| 923 blink_platform_impl_->SetCompositorThread(nullptr); | 924 blink_platform_impl_->SetCompositorThread(nullptr); |
| 924 | 925 |
| 925 compositor_thread_.reset(); | 926 compositor_thread_.reset(); |
| 926 | 927 |
| 927 // AudioMessageFilter may be accessed on |media_thread_|, so shutdown after. | 928 audio_output_ipc_factory_ = nullptr; |
| 928 RemoveFilter(audio_message_filter_.get()); | |
| 929 audio_message_filter_ = nullptr; | |
| 930 | 929 |
| 931 categorized_worker_pool_->Shutdown(); | 930 categorized_worker_pool_->Shutdown(); |
| 932 | 931 |
| 933 main_input_callback_.Cancel(); | 932 main_input_callback_.Cancel(); |
| 934 input_handler_manager_.reset(); | 933 input_handler_manager_.reset(); |
| 935 if (input_event_filter_.get()) { | 934 if (input_event_filter_.get()) { |
| 936 RemoveFilter(input_event_filter_.get()); | 935 RemoveFilter(input_event_filter_.get()); |
| 937 input_event_filter_ = nullptr; | 936 input_event_filter_ = nullptr; |
| 938 } | 937 } |
| 939 | 938 |
| (...skipping 1287 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2227 if (blink::mainThreadIsolate()) { | 2226 if (blink::mainThreadIsolate()) { |
| 2228 blink::mainThreadIsolate()->MemoryPressureNotification( | 2227 blink::mainThreadIsolate()->MemoryPressureNotification( |
| 2229 v8::MemoryPressureLevel::kCritical); | 2228 v8::MemoryPressureLevel::kCritical); |
| 2230 blink::MemoryPressureNotificationToWorkerThreadIsolates( | 2229 blink::MemoryPressureNotificationToWorkerThreadIsolates( |
| 2231 v8::MemoryPressureLevel::kCritical); | 2230 v8::MemoryPressureLevel::kCritical); |
| 2232 } | 2231 } |
| 2233 } | 2232 } |
| 2234 | 2233 |
| 2235 | 2234 |
| 2236 } // namespace content | 2235 } // namespace content |
| OLD | NEW |