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 "chrome/browser/chrome_content_browser_client.h" | 5 #include "chrome/browser/chrome_content_browser_client.h" |
6 | 6 |
7 #include <map> | 7 #include <map> |
8 #include <set> | 8 #include <set> |
9 #include <utility> | 9 #include <utility> |
10 #include <vector> | 10 #include <vector> |
(...skipping 2704 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2715 } | 2715 } |
2716 #endif // defined(OS_WIN) | 2716 #endif // defined(OS_WIN) |
2717 | 2717 |
2718 void ChromeContentBrowserClient::RegisterRenderProcessMojoServices( | 2718 void ChromeContentBrowserClient::RegisterRenderProcessMojoServices( |
2719 content::ServiceRegistry* registry, | 2719 content::ServiceRegistry* registry, |
2720 content::RenderProcessHost* render_process_host) { | 2720 content::RenderProcessHost* render_process_host) { |
2721 registry->AddService( | 2721 registry->AddService( |
2722 base::Bind(&startup_metric_utils::StartupMetricHostImpl::Create)); | 2722 base::Bind(&startup_metric_utils::StartupMetricHostImpl::Create)); |
2723 } | 2723 } |
2724 | 2724 |
2725 void ChromeContentBrowserClient::RegisterFrameMojoShellServices( | 2725 void ChromeContentBrowserClient::RegisterFrameMojoShellInterfaces( |
2726 content::ServiceRegistry* registry, | 2726 shell::InterfaceRegistry* registry, |
2727 content::RenderFrameHost* render_frame_host) { | 2727 content::RenderFrameHost* render_frame_host) { |
2728 // TODO(xhwang): Only register this when ENABLE_MOJO_MEDIA. | 2728 // TODO(xhwang): Only register this when ENABLE_MOJO_MEDIA. |
2729 #if defined(OS_CHROMEOS) | 2729 #if defined(OS_CHROMEOS) |
2730 registry->AddService( | 2730 registry->AddInterface( |
2731 base::Bind(&chromeos::attestation::PlatformVerificationImpl::Create, | 2731 base::Bind(&chromeos::attestation::PlatformVerificationImpl::Create, |
2732 render_frame_host)); | 2732 render_frame_host)); |
2733 #endif // defined(OS_CHROMEOS) | 2733 #endif // defined(OS_CHROMEOS) |
2734 | 2734 |
2735 #if defined(ENABLE_MOJO_MEDIA) | 2735 #if defined(ENABLE_MOJO_MEDIA) |
2736 registry->AddService( | 2736 registry->AddInterface( |
2737 base::Bind(&OutputProtectionImpl::Create, render_frame_host)); | 2737 base::Bind(&OutputProtectionImpl::Create, render_frame_host)); |
2738 #endif // defined(ENABLE_MOJO_MEDIA) | 2738 #endif // defined(ENABLE_MOJO_MEDIA) |
2739 } | 2739 } |
2740 | 2740 |
2741 void ChromeContentBrowserClient::RegisterRenderFrameMojoServices( | 2741 void ChromeContentBrowserClient::RegisterRenderFrameMojoInterfaces( |
2742 content::ServiceRegistry* registry, | 2742 shell::InterfaceRegistry* registry, |
2743 content::RenderFrameHost* render_frame_host) { | 2743 content::RenderFrameHost* render_frame_host) { |
2744 // WebUSB is an experimental web API. It will only work if the experiment | 2744 // WebUSB is an experimental web API. It will only work if the experiment |
2745 // is enabled and WebUSB feature is enabled. It should also not be available | 2745 // is enabled and WebUSB feature is enabled. It should also not be available |
2746 // to apps and extensions. | 2746 // to apps and extensions. |
2747 if (base::CommandLine::ForCurrentProcess()->HasSwitch( | 2747 if (base::CommandLine::ForCurrentProcess()->HasSwitch( |
2748 switches::kEnableExperimentalWebPlatformFeatures) && | 2748 switches::kEnableExperimentalWebPlatformFeatures) && |
2749 base::FeatureList::IsEnabled(features::kWebUsb) | 2749 base::FeatureList::IsEnabled(features::kWebUsb) |
2750 #if defined(ENABLE_EXTENSIONS) | 2750 #if defined(ENABLE_EXTENSIONS) |
2751 && | 2751 && |
2752 !render_frame_host->GetSiteInstance()->GetSiteURL().SchemeIs( | 2752 !render_frame_host->GetSiteInstance()->GetSiteURL().SchemeIs( |
2753 extensions::kExtensionScheme) | 2753 extensions::kExtensionScheme) |
2754 #endif | 2754 #endif |
2755 ) { | 2755 ) { |
2756 registry->AddService( | 2756 registry->AddInterface( |
2757 base::Bind(&CreateUsbDeviceManager, render_frame_host)); | 2757 base::Bind(&CreateUsbDeviceManager, render_frame_host)); |
2758 registry->AddService( | 2758 registry->AddInterface( |
2759 base::Bind(&CreateWebUsbChooserService, render_frame_host)); | 2759 base::Bind(&CreateWebUsbChooserService, render_frame_host)); |
2760 } | 2760 } |
2761 | 2761 |
2762 // Register mojo CredentialManager service only for main frame. | 2762 // Register mojo CredentialManager service only for main frame. |
2763 if (!render_frame_host->GetParent()) { | 2763 if (!render_frame_host->GetParent()) { |
2764 registry->AddService( | 2764 registry->AddInterface( |
2765 base::Bind(&ChromePasswordManagerClient::BindCredentialManager, | 2765 base::Bind(&ChromePasswordManagerClient::BindCredentialManager, |
2766 render_frame_host)); | 2766 render_frame_host)); |
2767 } | 2767 } |
2768 | 2768 |
2769 registry->AddService( | 2769 registry->AddInterface( |
2770 base::Bind(&autofill::ContentAutofillDriverFactory::BindAutofillDriver, | 2770 base::Bind(&autofill::ContentAutofillDriverFactory::BindAutofillDriver, |
2771 render_frame_host)); | 2771 render_frame_host)); |
2772 | 2772 |
2773 #if BUILDFLAG(ANDROID_JAVA_UI) | 2773 #if BUILDFLAG(ANDROID_JAVA_UI) |
2774 ChromeServiceRegistrarAndroid::RegisterRenderFrameMojoServices( | 2774 ChromeServiceRegistrarAndroid::RegisterRenderFrameMojoInterfaces( |
2775 registry, render_frame_host); | 2775 registry, render_frame_host); |
2776 #endif | 2776 #endif |
2777 } | 2777 } |
2778 | 2778 |
2779 void ChromeContentBrowserClient::RegisterInProcessMojoApplications( | 2779 void ChromeContentBrowserClient::RegisterInProcessMojoApplications( |
2780 StaticMojoApplicationMap* apps) { | 2780 StaticMojoApplicationMap* apps) { |
2781 #if (ENABLE_MOJO_MEDIA_IN_BROWSER_PROCESS) | 2781 #if (ENABLE_MOJO_MEDIA_IN_BROWSER_PROCESS) |
2782 content::MojoApplicationInfo app_info; | 2782 content::MojoApplicationInfo app_info; |
2783 app_info.application_factory = base::Bind(&media::CreateMojoMediaApplication); | 2783 app_info.application_factory = base::Bind(&media::CreateMojoMediaApplication); |
2784 apps->insert(std::make_pair("mojo:media", app_info)); | 2784 apps->insert(std::make_pair("mojo:media", app_info)); |
(...skipping 172 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2957 if (channel <= kMaxDisableEncryptionChannel) { | 2957 if (channel <= kMaxDisableEncryptionChannel) { |
2958 static const char* const kWebRtcDevSwitchNames[] = { | 2958 static const char* const kWebRtcDevSwitchNames[] = { |
2959 switches::kDisableWebRtcEncryption, | 2959 switches::kDisableWebRtcEncryption, |
2960 }; | 2960 }; |
2961 to_command_line->CopySwitchesFrom(from_command_line, | 2961 to_command_line->CopySwitchesFrom(from_command_line, |
2962 kWebRtcDevSwitchNames, | 2962 kWebRtcDevSwitchNames, |
2963 arraysize(kWebRtcDevSwitchNames)); | 2963 arraysize(kWebRtcDevSwitchNames)); |
2964 } | 2964 } |
2965 } | 2965 } |
2966 #endif // defined(ENABLE_WEBRTC) | 2966 #endif // defined(ENABLE_WEBRTC) |
OLD | NEW |