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

Side by Side Diff: content/browser/renderer_host/render_process_host_impl.cc

Issue 2077983003: Intiialize AudioManager and related class lazily (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 6 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 2012 The Chromium Authors. All rights reserved. 1 // Copyright 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 // Represents the browser side of the browser <--> renderer communication 5 // Represents the browser side of the browser <--> renderer communication
6 // channel. There will be one RenderProcessHost per renderer process. 6 // channel. There will be one RenderProcessHost per renderer process.
7 7
8 #include "content/browser/renderer_host/render_process_host_impl.h" 8 #include "content/browser/renderer_host/render_process_host_impl.h"
9 9
10 #include <algorithm> 10 #include <algorithm>
(...skipping 814 matching lines...) Expand 10 before | Expand all | Expand 10 after
825 #endif 825 #endif
826 channel->Init(IPC::ChannelMojo::CreateServerFactory(std::move(handle)), true); 826 channel->Init(IPC::ChannelMojo::CreateServerFactory(std::move(handle)), true);
827 return channel; 827 return channel;
828 } 828 }
829 829
830 void RenderProcessHostImpl::CreateMessageFilters() { 830 void RenderProcessHostImpl::CreateMessageFilters() {
831 DCHECK_CURRENTLY_ON(BrowserThread::UI); 831 DCHECK_CURRENTLY_ON(BrowserThread::UI);
832 AddFilter(new ResourceSchedulerFilter(GetID())); 832 AddFilter(new ResourceSchedulerFilter(GetID()));
833 MediaInternals* media_internals = MediaInternals::GetInstance(); 833 MediaInternals* media_internals = MediaInternals::GetInstance();
834 media::AudioManager* audio_manager = 834 media::AudioManager* audio_manager =
835 BrowserMainLoop::GetInstance()->audio_manager(); 835 BrowserMainLoop::GetInstance()->GetAudioManager();
836 // Add BrowserPluginMessageFilter to ensure it gets the first stab at messages 836 // Add BrowserPluginMessageFilter to ensure it gets the first stab at messages
837 // from guests. 837 // from guests.
838 scoped_refptr<BrowserPluginMessageFilter> bp_message_filter( 838 scoped_refptr<BrowserPluginMessageFilter> bp_message_filter(
839 new BrowserPluginMessageFilter(GetID())); 839 new BrowserPluginMessageFilter(GetID()));
840 AddFilter(bp_message_filter.get()); 840 AddFilter(bp_message_filter.get());
841 841
842 scoped_refptr<net::URLRequestContextGetter> request_context( 842 scoped_refptr<net::URLRequestContextGetter> request_context(
843 storage_partition_impl_->GetURLRequestContext()); 843 storage_partition_impl_->GetURLRequestContext());
844 scoped_refptr<RenderMessageFilter> render_message_filter( 844 scoped_refptr<RenderMessageFilter> render_message_filter(
845 new RenderMessageFilter( 845 new RenderMessageFilter(
(...skipping 30 matching lines...) Expand all
876 GetID(), PROCESS_TYPE_RENDERER, 876 GetID(), PROCESS_TYPE_RENDERER,
877 storage_partition_impl_->GetAppCacheService(), 877 storage_partition_impl_->GetAppCacheService(),
878 blob_storage_context.get(), 878 blob_storage_context.get(),
879 storage_partition_impl_->GetFileSystemContext(), 879 storage_partition_impl_->GetFileSystemContext(),
880 storage_partition_impl_->GetServiceWorkerContext(), 880 storage_partition_impl_->GetServiceWorkerContext(),
881 storage_partition_impl_->GetHostZoomLevelContext(), 881 storage_partition_impl_->GetHostZoomLevelContext(),
882 get_contexts_callback); 882 get_contexts_callback);
883 883
884 AddFilter(resource_message_filter); 884 AddFilter(resource_message_filter);
885 MediaStreamManager* media_stream_manager = 885 MediaStreamManager* media_stream_manager =
886 BrowserMainLoop::GetInstance()->media_stream_manager(); 886 BrowserMainLoop::GetInstance()->GetMediaStreamManager();
887 BrowserMainLoop::GetInstance()->InitializeSpeechRecognitionManager();
887 // The AudioInputRendererHost and AudioRendererHost needs to be available for 888 // The AudioInputRendererHost and AudioRendererHost needs to be available for
888 // lookup, so it's stashed in a member variable. 889 // lookup, so it's stashed in a member variable.
889 audio_input_renderer_host_ = new AudioInputRendererHost( 890 audio_input_renderer_host_ = new AudioInputRendererHost(
890 GetID(), base::GetProcId(GetHandle()), audio_manager, 891 GetID(), base::GetProcId(GetHandle()), audio_manager,
891 media_stream_manager, AudioMirroringManager::GetInstance(), 892 media_stream_manager, AudioMirroringManager::GetInstance(),
892 BrowserMainLoop::GetInstance()->user_input_monitor()); 893 BrowserMainLoop::GetInstance()->user_input_monitor());
893 AddFilter(audio_input_renderer_host_.get()); 894 AddFilter(audio_input_renderer_host_.get());
894 audio_renderer_host_ = new AudioRendererHost( 895 audio_renderer_host_ = new AudioRendererHost(
895 GetID(), audio_manager, AudioMirroringManager::GetInstance(), 896 GetID(), audio_manager, AudioMirroringManager::GetInstance(),
896 media_internals, media_stream_manager, 897 media_internals, media_stream_manager,
(...skipping 1115 matching lines...) Expand 10 before | Expand all | Expand 10 after
2012 // thread. 2013 // thread.
2013 BrowserThread::PostTaskAndReply( 2014 BrowserThread::PostTaskAndReply(
2014 BrowserThread::FILE, FROM_HERE, base::Bind(&base::DoNothing), 2015 BrowserThread::FILE, FROM_HERE, base::Bind(&base::DoNothing),
2015 base::Bind(&RenderProcessHostImpl::SendDisableEventLogToRenderer, 2016 base::Bind(&RenderProcessHostImpl::SendDisableEventLogToRenderer,
2016 weak_factory_.GetWeakPtr())); 2017 weak_factory_.GetWeakPtr()));
2017 } 2018 }
2018 2019
2019 void RenderProcessHostImpl::SetWebRtcLogMessageCallback( 2020 void RenderProcessHostImpl::SetWebRtcLogMessageCallback(
2020 base::Callback<void(const std::string&)> callback) { 2021 base::Callback<void(const std::string&)> callback) {
2021 #if defined(ENABLE_WEBRTC) 2022 #if defined(ENABLE_WEBRTC)
2022 BrowserMainLoop::GetInstance()->media_stream_manager()-> 2023 BrowserMainLoop::GetInstance()->GetMediaStreamManager()->
2023 RegisterNativeLogCallback(GetID(), callback); 2024 RegisterNativeLogCallback(GetID(), callback);
2024 #endif 2025 #endif
2025 } 2026 }
2026 2027
2027 void RenderProcessHostImpl::ClearWebRtcLogMessageCallback() { 2028 void RenderProcessHostImpl::ClearWebRtcLogMessageCallback() {
2028 #if defined(ENABLE_WEBRTC) 2029 #if defined(ENABLE_WEBRTC)
2029 BrowserMainLoop::GetInstance() 2030 BrowserMainLoop::GetInstance()
2030 ->media_stream_manager() 2031 ->GetMediaStreamManager()
2031 ->UnregisterNativeLogCallback(GetID()); 2032 ->UnregisterNativeLogCallback(GetID());
2032 #endif 2033 #endif
2033 } 2034 }
2034 2035
2035 RenderProcessHostImpl::WebRtcStopRtpDumpCallback 2036 RenderProcessHostImpl::WebRtcStopRtpDumpCallback
2036 RenderProcessHostImpl::StartRtpDump( 2037 RenderProcessHostImpl::StartRtpDump(
2037 bool incoming, 2038 bool incoming,
2038 bool outgoing, 2039 bool outgoing,
2039 const WebRtcRtpPacketCallback& packet_callback) { 2040 const WebRtcRtpPacketCallback& packet_callback) {
2040 if (!p2p_socket_dispatcher_host_.get()) 2041 if (!p2p_socket_dispatcher_host_.get())
(...skipping 770 matching lines...) Expand 10 before | Expand all | Expand 10 after
2811 LOG(ERROR) << "Terminating render process for bad Mojo message: " << error; 2812 LOG(ERROR) << "Terminating render process for bad Mojo message: " << error;
2812 2813
2813 // The ReceivedBadMessage call below will trigger a DumpWithoutCrashing. Alias 2814 // The ReceivedBadMessage call below will trigger a DumpWithoutCrashing. Alias
2814 // enough information here so that we can determine what the bad message was. 2815 // enough information here so that we can determine what the bad message was.
2815 base::debug::Alias(&error); 2816 base::debug::Alias(&error);
2816 bad_message::ReceivedBadMessage(process.get(), 2817 bad_message::ReceivedBadMessage(process.get(),
2817 bad_message::RPH_MOJO_PROCESS_ERROR); 2818 bad_message::RPH_MOJO_PROCESS_ERROR);
2818 } 2819 }
2819 2820
2820 } // namespace content 2821 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698