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

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

Issue 1922923002: bluetooth: Move requestDevice to mojo (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@bluetooth-separate-tests-request-device
Patch Set: Rebase Created 4 years, 7 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 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
44 #include "build/build_config.h" 44 #include "build/build_config.h"
45 #include "cc/base/switches.h" 45 #include "cc/base/switches.h"
46 #include "components/scheduler/common/scheduler_switches.h" 46 #include "components/scheduler/common/scheduler_switches.h"
47 #include "components/tracing/tracing_switches.h" 47 #include "components/tracing/tracing_switches.h"
48 #include "content/browser/appcache/appcache_dispatcher_host.h" 48 #include "content/browser/appcache/appcache_dispatcher_host.h"
49 #include "content/browser/appcache/chrome_appcache_service.h" 49 #include "content/browser/appcache/chrome_appcache_service.h"
50 #include "content/browser/background_sync/background_sync_service_impl.h" 50 #include "content/browser/background_sync/background_sync_service_impl.h"
51 #include "content/browser/bad_message.h" 51 #include "content/browser/bad_message.h"
52 #include "content/browser/blob_storage/blob_dispatcher_host.h" 52 #include "content/browser/blob_storage/blob_dispatcher_host.h"
53 #include "content/browser/blob_storage/chrome_blob_storage_context.h" 53 #include "content/browser/blob_storage/chrome_blob_storage_context.h"
54 #include "content/browser/bluetooth/bluetooth_dispatcher_host.h"
55 #include "content/browser/browser_child_process_host_impl.h" 54 #include "content/browser/browser_child_process_host_impl.h"
56 #include "content/browser/browser_main.h" 55 #include "content/browser/browser_main.h"
57 #include "content/browser/browser_main_loop.h" 56 #include "content/browser/browser_main_loop.h"
58 #include "content/browser/browser_plugin/browser_plugin_message_filter.h" 57 #include "content/browser/browser_plugin/browser_plugin_message_filter.h"
59 #include "content/browser/cache_storage/cache_storage_context_impl.h" 58 #include "content/browser/cache_storage/cache_storage_context_impl.h"
60 #include "content/browser/cache_storage/cache_storage_dispatcher_host.h" 59 #include "content/browser/cache_storage/cache_storage_dispatcher_host.h"
61 #include "content/browser/child_process_security_policy_impl.h" 60 #include "content/browser/child_process_security_policy_impl.h"
62 #include "content/browser/device_sensors/device_light_message_filter.h" 61 #include "content/browser/device_sensors/device_light_message_filter.h"
63 #include "content/browser/device_sensors/device_motion_message_filter.h" 62 #include "content/browser/device_sensors/device_motion_message_filter.h"
64 #include "content/browser/device_sensors/device_orientation_absolute_message_fil ter.h" 63 #include "content/browser/device_sensors/device_orientation_absolute_message_fil ter.h"
(...skipping 739 matching lines...) Expand 10 before | Expand all | Expand 10 after
804 IPC::AttachmentBroker::GetGlobal()->RegisterCommunicationChannel( 803 IPC::AttachmentBroker::GetGlobal()->RegisterCommunicationChannel(
805 channel.get(), content::BrowserThread::GetMessageLoopProxyForThread( 804 channel.get(), content::BrowserThread::GetMessageLoopProxyForThread(
806 content::BrowserThread::IO)); 805 content::BrowserThread::IO));
807 #endif 806 #endif
808 channel->Init(IPC::ChannelMojo::CreateServerFactory(std::move(handle)), true); 807 channel->Init(IPC::ChannelMojo::CreateServerFactory(std::move(handle)), true);
809 return channel; 808 return channel;
810 } 809 }
811 810
812 void RenderProcessHostImpl::CreateMessageFilters() { 811 void RenderProcessHostImpl::CreateMessageFilters() {
813 DCHECK_CURRENTLY_ON(BrowserThread::UI); 812 DCHECK_CURRENTLY_ON(BrowserThread::UI);
814 const base::CommandLine& browser_command_line =
815 *base::CommandLine::ForCurrentProcess();
816 AddFilter(new ResourceSchedulerFilter(GetID())); 813 AddFilter(new ResourceSchedulerFilter(GetID()));
817 MediaInternals* media_internals = MediaInternals::GetInstance(); 814 MediaInternals* media_internals = MediaInternals::GetInstance();
818 media::AudioManager* audio_manager = 815 media::AudioManager* audio_manager =
819 BrowserMainLoop::GetInstance()->audio_manager(); 816 BrowserMainLoop::GetInstance()->audio_manager();
820 // Add BrowserPluginMessageFilter to ensure it gets the first stab at messages 817 // Add BrowserPluginMessageFilter to ensure it gets the first stab at messages
821 // from guests. 818 // from guests.
822 scoped_refptr<BrowserPluginMessageFilter> bp_message_filter( 819 scoped_refptr<BrowserPluginMessageFilter> bp_message_filter(
823 new BrowserPluginMessageFilter(GetID())); 820 new BrowserPluginMessageFilter(GetID()));
824 AddFilter(bp_message_filter.get()); 821 AddFilter(bp_message_filter.get());
825 822
(...skipping 172 matching lines...) Expand 10 before | Expand all | Expand 10 after
998 AddFilter(new DeviceOrientationMessageFilter()); 995 AddFilter(new DeviceOrientationMessageFilter());
999 AddFilter(new DeviceOrientationAbsoluteMessageFilter()); 996 AddFilter(new DeviceOrientationAbsoluteMessageFilter());
1000 AddFilter(new ProfilerMessageFilter(PROCESS_TYPE_RENDERER)); 997 AddFilter(new ProfilerMessageFilter(PROCESS_TYPE_RENDERER));
1001 AddFilter(new HistogramMessageFilter()); 998 AddFilter(new HistogramMessageFilter());
1002 AddFilter(new MemoryMessageFilter(this)); 999 AddFilter(new MemoryMessageFilter(this));
1003 AddFilter(new PushMessagingMessageFilter( 1000 AddFilter(new PushMessagingMessageFilter(
1004 GetID(), storage_partition_impl_->GetServiceWorkerContext())); 1001 GetID(), storage_partition_impl_->GetServiceWorkerContext()));
1005 #if defined(OS_ANDROID) 1002 #if defined(OS_ANDROID)
1006 AddFilter(new ScreenOrientationMessageFilterAndroid()); 1003 AddFilter(new ScreenOrientationMessageFilterAndroid());
1007 #endif 1004 #endif
1008
1009 bool enable_web_bluetooth =
1010 browser_command_line.HasSwitch(switches::kEnableWebBluetooth);
1011 #if defined(OS_CHROMEOS) || defined(OS_ANDROID)
1012 enable_web_bluetooth = true;
1013 #endif
1014
1015 if (enable_web_bluetooth) {
1016 bluetooth_dispatcher_host_ = new BluetoothDispatcherHost(GetID());
1017 AddFilter(bluetooth_dispatcher_host_.get());
1018 }
1019 } 1005 }
1020 1006
1021 void RenderProcessHostImpl::RegisterMojoServices() { 1007 void RenderProcessHostImpl::RegisterMojoServices() {
1022 #if !defined(OS_ANDROID) 1008 #if !defined(OS_ANDROID)
1023 mojo_application_host_->service_registry()->AddService( 1009 mojo_application_host_->service_registry()->AddService(
1024 base::Bind(&device::BatteryMonitorImpl::Create)); 1010 base::Bind(&device::BatteryMonitorImpl::Create));
1025 1011
1026 mojo_application_host_->service_registry()->AddService( 1012 mojo_application_host_->service_registry()->AddService(
1027 base::Bind(&device::VibrationManagerImpl::Create)); 1013 base::Bind(&device::VibrationManagerImpl::Create));
1028 #endif 1014 #endif
(...skipping 1713 matching lines...) Expand 10 before | Expand all | Expand 10 after
2742 return file.AddExtension(IntToStringType(base::GetProcId(GetHandle()))) 2728 return file.AddExtension(IntToStringType(base::GetProcId(GetHandle())))
2743 .AddExtension(kEventLogFileNameAddition); 2729 .AddExtension(kEventLogFileNameAddition);
2744 } 2730 }
2745 #endif // defined(ENABLE_WEBRTC) 2731 #endif // defined(ENABLE_WEBRTC)
2746 2732
2747 void RenderProcessHostImpl::GetAudioOutputControllers( 2733 void RenderProcessHostImpl::GetAudioOutputControllers(
2748 const GetAudioOutputControllersCallback& callback) const { 2734 const GetAudioOutputControllersCallback& callback) const {
2749 audio_renderer_host()->GetOutputControllers(callback); 2735 audio_renderer_host()->GetOutputControllers(callback);
2750 } 2736 }
2751 2737
2752 BluetoothDispatcherHost* RenderProcessHostImpl::GetBluetoothDispatcherHost() { 2738 BluetoothAdapterFactoryWrapper*
2753 return bluetooth_dispatcher_host_.get(); 2739 RenderProcessHostImpl::GetBluetoothAdapterFactoryWrapper() {
2740 return &bluetooth_adapter_factory_wrapper_;
2754 } 2741 }
2755 2742
2756 void RenderProcessHostImpl::RecomputeAndUpdateWebKitPreferences() { 2743 void RenderProcessHostImpl::RecomputeAndUpdateWebKitPreferences() {
2757 // We are updating all widgets including swapped out ones. 2744 // We are updating all widgets including swapped out ones.
2758 std::unique_ptr<RenderWidgetHostIterator> widgets( 2745 std::unique_ptr<RenderWidgetHostIterator> widgets(
2759 RenderWidgetHostImpl::GetAllRenderWidgetHosts()); 2746 RenderWidgetHostImpl::GetAllRenderWidgetHosts());
2760 while (RenderWidgetHost* widget = widgets->GetNextHost()) { 2747 while (RenderWidgetHost* widget = widgets->GetNextHost()) {
2761 RenderViewHost* rvh = RenderViewHost::From(widget); 2748 RenderViewHost* rvh = RenderViewHost::From(widget);
2762 if (!rvh) 2749 if (!rvh)
2763 continue; 2750 continue;
2764 2751
2765 // Skip widgets in other processes. 2752 // Skip widgets in other processes.
2766 if (rvh->GetProcess()->GetID() != GetID()) 2753 if (rvh->GetProcess()->GetID() != GetID())
2767 continue; 2754 continue;
2768 2755
2769 rvh->OnWebkitPreferencesChanged(); 2756 rvh->OnWebkitPreferencesChanged();
2770 } 2757 }
2771 } 2758 }
2772 2759
2773 } // namespace content 2760 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698