Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(412)

Side by Side Diff: content/renderer/render_thread_impl.cc

Issue 2289543003: IPC->mojo of audio_renderer_host (Closed)
Patch Set: It builds \o/. Created 4 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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
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
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 #if BUILDFLAG(ENABLE_MOJO_AUDIO)
Henrik Grunell 2016/09/01 15:09:07 Why do we have this build flag? (I know it came fr
Max Morin 2016/09/02 10:27:07 I don't think we should have it. I removed it for
720 audio_output_ipc_factory_ =
721 new AudioOutputIPCFactory(GetIOTaskRunner(), GetRemoteInterfaces());
722 #endif
723
721 InitSkiaEventTracer(); 724 InitSkiaEventTracer();
722 base::trace_event::MemoryDumpManager::GetInstance()->RegisterDumpProvider( 725 base::trace_event::MemoryDumpManager::GetInstance()->RegisterDumpProvider(
723 skia::SkiaMemoryDumpProvider::GetInstance(), "Skia", nullptr); 726 skia::SkiaMemoryDumpProvider::GetInstance(), "Skia", nullptr);
724 727
725 const base::CommandLine& command_line = 728 const base::CommandLine& command_line =
726 *base::CommandLine::ForCurrentProcess(); 729 *base::CommandLine::ForCurrentProcess();
727 730
728 #if defined(ENABLE_IPC_FUZZER) 731 #if defined(ENABLE_IPC_FUZZER)
729 if (command_line.HasSwitch(switches::kIpcDumpDirectory)) { 732 if (command_line.HasSwitch(switches::kIpcDumpDirectory)) {
730 base::FilePath dump_directory = 733 base::FilePath dump_directory =
(...skipping 186 matching lines...) Expand 10 before | Expand all | Expand 10 after
917 } 920 }
918 stream_texture_factory_ = nullptr; 921 stream_texture_factory_ = nullptr;
919 #endif 922 #endif
920 923
921 media_thread_.reset(); 924 media_thread_.reset();
922 925
923 blink_platform_impl_->SetCompositorThread(nullptr); 926 blink_platform_impl_->SetCompositorThread(nullptr);
924 927
925 compositor_thread_.reset(); 928 compositor_thread_.reset();
926 929
927 // AudioMessageFilter may be accessed on |media_thread_|, so shutdown after. 930 audio_output_ipc_factory_ = nullptr;
928 RemoveFilter(audio_message_filter_.get());
929 audio_message_filter_ = nullptr;
930 931
931 categorized_worker_pool_->Shutdown(); 932 categorized_worker_pool_->Shutdown();
932 933
933 main_input_callback_.Cancel(); 934 main_input_callback_.Cancel();
934 input_handler_manager_.reset(); 935 input_handler_manager_.reset();
935 if (input_event_filter_.get()) { 936 if (input_event_filter_.get()) {
936 RemoveFilter(input_event_filter_.get()); 937 RemoveFilter(input_event_filter_.get());
937 input_event_filter_ = nullptr; 938 input_event_filter_ = nullptr;
938 } 939 }
939 940
(...skipping 1287 matching lines...) Expand 10 before | Expand all | Expand 10 after
2227 if (blink::mainThreadIsolate()) { 2228 if (blink::mainThreadIsolate()) {
2228 blink::mainThreadIsolate()->MemoryPressureNotification( 2229 blink::mainThreadIsolate()->MemoryPressureNotification(
2229 v8::MemoryPressureLevel::kCritical); 2230 v8::MemoryPressureLevel::kCritical);
2230 blink::MemoryPressureNotificationToWorkerThreadIsolates( 2231 blink::MemoryPressureNotificationToWorkerThreadIsolates(
2231 v8::MemoryPressureLevel::kCritical); 2232 v8::MemoryPressureLevel::kCritical);
2232 } 2233 }
2233 } 2234 }
2234 2235
2235 2236
2236 } // namespace content 2237 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698