| Index: content/browser/renderer_host/render_process_host_impl.cc
|
| ===================================================================
|
| --- content/browser/renderer_host/render_process_host_impl.cc (revision 225900)
|
| +++ content/browser/renderer_host/render_process_host_impl.cc (working copy)
|
| @@ -531,7 +531,7 @@
|
|
|
| void RenderProcessHostImpl::CreateMessageFilters() {
|
| DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
|
| - channel_->AddFilter(new ResourceSchedulerFilter(GetID()));
|
| + AddFilter(new ResourceSchedulerFilter(GetID()));
|
| MediaInternals* media_internals = MediaInternals::GetInstance();;
|
| media::AudioManager* audio_manager =
|
| BrowserMainLoop::GetInstance()->audio_manager();
|
| @@ -540,7 +540,7 @@
|
| if (supports_browser_plugin_) {
|
| scoped_refptr<BrowserPluginMessageFilter> bp_message_filter(
|
| new BrowserPluginMessageFilter(GetID(), IsGuest()));
|
| - channel_->AddFilter(bp_message_filter.get());
|
| + AddFilter(bp_message_filter.get());
|
| }
|
|
|
| scoped_refptr<RenderMessageFilter> render_message_filter(
|
| @@ -558,7 +558,7 @@
|
| audio_manager,
|
| media_internals,
|
| storage_partition_impl_->GetDOMStorageContext()));
|
| - channel_->AddFilter(render_message_filter.get());
|
| + AddFilter(render_message_filter.get());
|
| BrowserContext* browser_context = GetBrowserContext();
|
| ResourceContext* resource_context = browser_context->GetResourceContext();
|
|
|
| @@ -578,86 +578,86 @@
|
| storage_partition_impl_->GetFileSystemContext(),
|
| get_contexts_callback);
|
|
|
| - channel_->AddFilter(resource_message_filter);
|
| + AddFilter(resource_message_filter);
|
| MediaStreamManager* media_stream_manager =
|
| BrowserMainLoop::GetInstance()->media_stream_manager();
|
| - channel_->AddFilter(new AudioInputRendererHost(
|
| + AddFilter(new AudioInputRendererHost(
|
| audio_manager,
|
| media_stream_manager,
|
| BrowserMainLoop::GetInstance()->audio_mirroring_manager(),
|
| BrowserMainLoop::GetInstance()->user_input_monitor()));
|
| - channel_->AddFilter(new AudioRendererHost(
|
| + AddFilter(new AudioRendererHost(
|
| GetID(),
|
| audio_manager,
|
| BrowserMainLoop::GetInstance()->audio_mirroring_manager(),
|
| media_internals,
|
| media_stream_manager));
|
| - channel_->AddFilter(
|
| + AddFilter(
|
| new MIDIHost(GetID(), BrowserMainLoop::GetInstance()->midi_manager()));
|
| - channel_->AddFilter(new MIDIDispatcherHost(GetID(), browser_context));
|
| - channel_->AddFilter(new VideoCaptureHost(media_stream_manager));
|
| - channel_->AddFilter(new AppCacheDispatcherHost(
|
| + AddFilter(new MIDIDispatcherHost(GetID(), browser_context));
|
| + AddFilter(new VideoCaptureHost(media_stream_manager));
|
| + AddFilter(new AppCacheDispatcherHost(
|
| storage_partition_impl_->GetAppCacheService(),
|
| GetID()));
|
| - channel_->AddFilter(new ClipboardMessageFilter);
|
| - channel_->AddFilter(new DOMStorageMessageFilter(
|
| + AddFilter(new ClipboardMessageFilter);
|
| + AddFilter(new DOMStorageMessageFilter(
|
| GetID(),
|
| storage_partition_impl_->GetDOMStorageContext()));
|
| - channel_->AddFilter(new IndexedDBDispatcherHost(
|
| + AddFilter(new IndexedDBDispatcherHost(
|
| GetID(),
|
| storage_partition_impl_->GetIndexedDBContext()));
|
| - channel_->AddFilter(new ServiceWorkerDispatcherHost(
|
| + AddFilter(new ServiceWorkerDispatcherHost(
|
| storage_partition_impl_->GetServiceWorkerContext()));
|
| if (IsGuest()) {
|
| if (!g_browser_plugin_geolocation_context.Get().get()) {
|
| g_browser_plugin_geolocation_context.Get() =
|
| new BrowserPluginGeolocationPermissionContext();
|
| }
|
| - channel_->AddFilter(GeolocationDispatcherHost::New(
|
| + AddFilter(GeolocationDispatcherHost::New(
|
| GetID(), g_browser_plugin_geolocation_context.Get().get()));
|
| } else {
|
| - channel_->AddFilter(GeolocationDispatcherHost::New(
|
| + AddFilter(GeolocationDispatcherHost::New(
|
| GetID(), browser_context->GetGeolocationPermissionContext()));
|
| }
|
| gpu_message_filter_ = new GpuMessageFilter(GetID(), widget_helper_.get());
|
| - channel_->AddFilter(gpu_message_filter_);
|
| + AddFilter(gpu_message_filter_);
|
| #if defined(ENABLE_WEBRTC)
|
| - channel_->AddFilter(new WebRTCIdentityServiceHost(
|
| + AddFilter(new WebRTCIdentityServiceHost(
|
| GetID(), storage_partition_impl_->GetWebRTCIdentityStore()));
|
| peer_connection_tracker_host_ = new PeerConnectionTrackerHost(GetID());
|
| - channel_->AddFilter(peer_connection_tracker_host_.get());
|
| - channel_->AddFilter(new MediaStreamDispatcherHost(
|
| + AddFilter(peer_connection_tracker_host_.get());
|
| + AddFilter(new MediaStreamDispatcherHost(
|
| GetID(), media_stream_manager));
|
| - channel_->AddFilter(
|
| + AddFilter(
|
| new DeviceRequestMessageFilter(resource_context, media_stream_manager));
|
| #endif
|
| #if defined(ENABLE_PLUGINS)
|
| - channel_->AddFilter(new PepperRendererConnection(GetID()));
|
| + AddFilter(new PepperRendererConnection(GetID()));
|
| #endif
|
| #if defined(ENABLE_INPUT_SPEECH)
|
| - channel_->AddFilter(new InputTagSpeechDispatcherHost(
|
| + AddFilter(new InputTagSpeechDispatcherHost(
|
| IsGuest(), GetID(), storage_partition_impl_->GetURLRequestContext()));
|
| #endif
|
| - channel_->AddFilter(new SpeechRecognitionDispatcherHost(
|
| + AddFilter(new SpeechRecognitionDispatcherHost(
|
| GetID(), storage_partition_impl_->GetURLRequestContext()));
|
| - channel_->AddFilter(new FileAPIMessageFilter(
|
| + AddFilter(new FileAPIMessageFilter(
|
| GetID(),
|
| storage_partition_impl_->GetURLRequestContext(),
|
| storage_partition_impl_->GetFileSystemContext(),
|
| ChromeBlobStorageContext::GetFor(browser_context),
|
| StreamContext::GetFor(browser_context)));
|
| - channel_->AddFilter(new OrientationMessageFilter());
|
| - channel_->AddFilter(new FileUtilitiesMessageFilter(GetID()));
|
| - channel_->AddFilter(new MimeRegistryMessageFilter());
|
| - channel_->AddFilter(new DatabaseMessageFilter(
|
| + AddFilter(new OrientationMessageFilter());
|
| + AddFilter(new FileUtilitiesMessageFilter(GetID()));
|
| + AddFilter(new MimeRegistryMessageFilter());
|
| + AddFilter(new DatabaseMessageFilter(
|
| storage_partition_impl_->GetDatabaseTracker()));
|
| #if defined(OS_MACOSX)
|
| - channel_->AddFilter(new TextInputClientMessageFilter(GetID()));
|
| + AddFilter(new TextInputClientMessageFilter(GetID()));
|
| #elif defined(OS_WIN)
|
| channel_->AddFilter(new FontCacheDispatcher());
|
| #elif defined(OS_ANDROID)
|
| browser_demuxer_android_ = new BrowserDemuxerAndroid();
|
| - channel_->AddFilter(browser_demuxer_android_);
|
| + AddFilter(browser_demuxer_android_);
|
| #endif
|
|
|
| SocketStreamDispatcherHost::GetRequestContextCallback
|
| @@ -668,9 +668,9 @@
|
| SocketStreamDispatcherHost* socket_stream_dispatcher_host =
|
| new SocketStreamDispatcherHost(
|
| GetID(), request_context_callback, resource_context);
|
| - channel_->AddFilter(socket_stream_dispatcher_host);
|
| + AddFilter(socket_stream_dispatcher_host);
|
|
|
| - channel_->AddFilter(new WorkerMessageFilter(
|
| + AddFilter(new WorkerMessageFilter(
|
| GetID(),
|
| resource_context,
|
| WorkerStoragePartition(
|
| @@ -685,30 +685,30 @@
|
| base::Unretained(widget_helper_.get()))));
|
|
|
| #if defined(ENABLE_WEBRTC)
|
| - channel_->AddFilter(new P2PSocketDispatcherHost(
|
| + AddFilter(new P2PSocketDispatcherHost(
|
| resource_context,
|
| browser_context->GetRequestContextForRenderProcess(GetID())));
|
| #endif
|
|
|
| - channel_->AddFilter(new TraceMessageFilter());
|
| - channel_->AddFilter(new ResolveProxyMsgHelper(
|
| + AddFilter(new TraceMessageFilter());
|
| + AddFilter(new ResolveProxyMsgHelper(
|
| browser_context->GetRequestContextForRenderProcess(GetID())));
|
| - channel_->AddFilter(new QuotaDispatcherHost(
|
| + AddFilter(new QuotaDispatcherHost(
|
| GetID(),
|
| storage_partition_impl_->GetQuotaManager(),
|
| GetContentClient()->browser()->CreateQuotaPermissionContext()));
|
| - channel_->AddFilter(new GamepadBrowserMessageFilter());
|
| - channel_->AddFilter(new DeviceMotionMessageFilter());
|
| - channel_->AddFilter(new DeviceOrientationMessageFilter());
|
| - channel_->AddFilter(new ProfilerMessageFilter(PROCESS_TYPE_RENDERER));
|
| - channel_->AddFilter(new HistogramMessageFilter());
|
| + AddFilter(new GamepadBrowserMessageFilter());
|
| + AddFilter(new DeviceMotionMessageFilter());
|
| + AddFilter(new DeviceOrientationMessageFilter());
|
| + AddFilter(new ProfilerMessageFilter(PROCESS_TYPE_RENDERER));
|
| + AddFilter(new HistogramMessageFilter());
|
| #if defined(USE_TCMALLOC) && (defined(OS_LINUX) || defined(OS_ANDROID))
|
| if (CommandLine::ForCurrentProcess()->HasSwitch(
|
| switches::kEnableMemoryBenchmarking))
|
| - channel_->AddFilter(new MemoryBenchmarkMessageFilter());
|
| + AddFilter(new MemoryBenchmarkMessageFilter());
|
| #endif
|
| #if defined(OS_ANDROID)
|
| - channel_->AddFilter(new VibrationMessageFilter());
|
| + AddFilter(new VibrationMessageFilter());
|
| #endif
|
| }
|
|
|
| @@ -1386,6 +1386,10 @@
|
| return channel_.get();
|
| }
|
|
|
| +void RenderProcessHostImpl::AddFilter(BrowserMessageFilter* filter) {
|
| + channel_->AddFilter(filter->GetFilter());
|
| +}
|
| +
|
| bool RenderProcessHostImpl::FastShutdownForPageCount(size_t count) {
|
| if (static_cast<size_t>(GetActiveViewCount()) == count)
|
| return FastShutdownIfPossible();
|
|
|