| 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 |