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 175 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
186 #include "content/public/common/url_utils.h" | 186 #include "content/public/common/url_utils.h" |
187 #include "content/public/common/web_preferences.h" | 187 #include "content/public/common/web_preferences.h" |
188 #include "device/bluetooth/adapter_factory.h" | 188 #include "device/bluetooth/adapter_factory.h" |
189 #include "device/bluetooth/public/interfaces/adapter.mojom.h" | 189 #include "device/bluetooth/public/interfaces/adapter.mojom.h" |
190 #include "device/usb/public/interfaces/chooser_service.mojom.h" | 190 #include "device/usb/public/interfaces/chooser_service.mojom.h" |
191 #include "device/usb/public/interfaces/device_manager.mojom.h" | 191 #include "device/usb/public/interfaces/device_manager.mojom.h" |
192 #include "extensions/features/features.h" | 192 #include "extensions/features/features.h" |
193 #include "gpu/config/gpu_switches.h" | 193 #include "gpu/config/gpu_switches.h" |
194 #include "media/audio/audio_manager.h" | 194 #include "media/audio/audio_manager.h" |
195 #include "media/media_features.h" | 195 #include "media/media_features.h" |
| 196 #include "media/mojo/features.h" |
196 #include "net/base/mime_util.h" | 197 #include "net/base/mime_util.h" |
197 #include "net/base/registry_controlled_domains/registry_controlled_domain.h" | 198 #include "net/base/registry_controlled_domains/registry_controlled_domain.h" |
198 #include "net/cookies/canonical_cookie.h" | 199 #include "net/cookies/canonical_cookie.h" |
199 #include "net/cookies/cookie_options.h" | 200 #include "net/cookies/cookie_options.h" |
200 #include "net/ssl/ssl_cert_request_info.h" | 201 #include "net/ssl/ssl_cert_request_info.h" |
201 #include "ppapi/features/features.h" | 202 #include "ppapi/features/features.h" |
202 #include "ppapi/host/ppapi_host.h" | 203 #include "ppapi/host/ppapi_host.h" |
203 #include "printing/features/features.h" | 204 #include "printing/features/features.h" |
204 #include "services/preferences/public/interfaces/preferences.mojom.h" | 205 #include "services/preferences/public/interfaces/preferences.mojom.h" |
205 #include "services/service_manager/public/cpp/binder_registry.h" | 206 #include "services/service_manager/public/cpp/binder_registry.h" |
(...skipping 169 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
375 #endif | 376 #endif |
376 | 377 |
377 #if BUILDFLAG(ENABLE_MEDIA_REMOTING) | 378 #if BUILDFLAG(ENABLE_MEDIA_REMOTING) |
378 #include "chrome/browser/media/cast_remoting_connector.h" | 379 #include "chrome/browser/media/cast_remoting_connector.h" |
379 #endif | 380 #endif |
380 | 381 |
381 #if BUILDFLAG(ENABLE_WAYLAND_SERVER) | 382 #if BUILDFLAG(ENABLE_WAYLAND_SERVER) |
382 #include "chrome/browser/chrome_browser_main_extra_parts_exo.h" | 383 #include "chrome/browser/chrome_browser_main_extra_parts_exo.h" |
383 #endif | 384 #endif |
384 | 385 |
385 #if defined(ENABLE_MOJO_MEDIA) | 386 #if BUILDFLAG(ENABLE_MOJO_MEDIA) |
386 #include "chrome/browser/media/output_protection_impl.h" | 387 #include "chrome/browser/media/output_protection_impl.h" |
387 #if defined(ENABLE_MOJO_CDM) && defined(OS_ANDROID) | 388 #if BUILDFLAG(ENABLE_MOJO_CDM) && defined(OS_ANDROID) |
388 #include "chrome/browser/media/android/cdm/media_drm_storage_factory.h" | 389 #include "chrome/browser/media/android/cdm/media_drm_storage_factory.h" |
389 #endif | 390 #endif |
390 #endif | 391 #endif |
391 | 392 |
392 #if defined(ENABLE_MOJO_MEDIA_IN_BROWSER_PROCESS) | 393 #if BUILDFLAG(ENABLE_MOJO_MEDIA_IN_BROWSER_PROCESS) |
393 #include "media/mojo/services/media_service_factory.h" // nogncheck | 394 #include "media/mojo/services/media_service_factory.h" // nogncheck |
394 #endif | 395 #endif |
395 | 396 |
396 #if defined(OS_CHROMEOS) | 397 #if defined(OS_CHROMEOS) |
397 #include "chrome/browser/metrics/leak_detector/leak_detector_remote_controller.h
" | 398 #include "chrome/browser/metrics/leak_detector/leak_detector_remote_controller.h
" |
398 #endif | 399 #endif |
399 | 400 |
400 #if BUILDFLAG(ENABLE_SUPERVISED_USERS) | 401 #if BUILDFLAG(ENABLE_SUPERVISED_USERS) |
401 #include "chrome/browser/supervised_user/supervised_user_navigation_throttle.h" | 402 #include "chrome/browser/supervised_user/supervised_user_navigation_throttle.h" |
402 #endif | 403 #endif |
(...skipping 2740 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3143 void ChromeContentBrowserClient::ExposeInterfacesToMediaService( | 3144 void ChromeContentBrowserClient::ExposeInterfacesToMediaService( |
3144 service_manager::BinderRegistry* registry, | 3145 service_manager::BinderRegistry* registry, |
3145 content::RenderFrameHost* render_frame_host) { | 3146 content::RenderFrameHost* render_frame_host) { |
3146 // TODO(xhwang): Only register this when ENABLE_MOJO_MEDIA. | 3147 // TODO(xhwang): Only register this when ENABLE_MOJO_MEDIA. |
3147 #if defined(OS_CHROMEOS) | 3148 #if defined(OS_CHROMEOS) |
3148 registry->AddInterface( | 3149 registry->AddInterface( |
3149 base::Bind(&chromeos::attestation::PlatformVerificationImpl::Create, | 3150 base::Bind(&chromeos::attestation::PlatformVerificationImpl::Create, |
3150 render_frame_host)); | 3151 render_frame_host)); |
3151 #endif // defined(OS_CHROMEOS) | 3152 #endif // defined(OS_CHROMEOS) |
3152 | 3153 |
3153 #if defined(ENABLE_MOJO_MEDIA) | 3154 #if BUILDFLAG(ENABLE_MOJO_MEDIA) |
3154 registry->AddInterface( | 3155 registry->AddInterface( |
3155 base::Bind(&OutputProtectionImpl::Create, render_frame_host)); | 3156 base::Bind(&OutputProtectionImpl::Create, render_frame_host)); |
3156 #if defined(ENABLE_MOJO_CDM) && defined(OS_ANDROID) | 3157 #if BUILDFLAG(ENABLE_MOJO_CDM) && defined(OS_ANDROID) |
3157 registry->AddInterface( | 3158 registry->AddInterface( |
3158 base::Bind(&chrome::CreateMediaDrmStorage, render_frame_host)); | 3159 base::Bind(&chrome::CreateMediaDrmStorage, render_frame_host)); |
3159 #endif | 3160 #endif |
3160 #endif // defined(ENABLE_MOJO_MEDIA) | 3161 #endif // BUILDFLAG(ENABLE_MOJO_MEDIA) |
3161 } | 3162 } |
3162 | 3163 |
3163 void ChromeContentBrowserClient::ExposeInterfacesToFrame( | 3164 void ChromeContentBrowserClient::ExposeInterfacesToFrame( |
3164 service_manager::BinderRegistry* registry, | 3165 service_manager::BinderRegistry* registry, |
3165 content::RenderFrameHost* render_frame_host) { | 3166 content::RenderFrameHost* render_frame_host) { |
3166 if (base::FeatureList::IsEnabled(features::kWebUsb) | 3167 if (base::FeatureList::IsEnabled(features::kWebUsb) |
3167 #if BUILDFLAG(ENABLE_EXTENSIONS) | 3168 #if BUILDFLAG(ENABLE_EXTENSIONS) |
3168 && | 3169 && |
3169 !render_frame_host->GetSiteInstance()->GetSiteURL().SchemeIs( | 3170 !render_frame_host->GetSiteInstance()->GetSiteURL().SchemeIs( |
3170 extensions::kExtensionScheme) | 3171 extensions::kExtensionScheme) |
(...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3241 mojo::ScopedMessagePipeHandle* interface_pipe) { | 3242 mojo::ScopedMessagePipeHandle* interface_pipe) { |
3242 if (source_info.identity.name() == content::mojom::kGpuServiceName && | 3243 if (source_info.identity.name() == content::mojom::kGpuServiceName && |
3243 gpu_binder_registry_.CanBindInterface(interface_name)) { | 3244 gpu_binder_registry_.CanBindInterface(interface_name)) { |
3244 gpu_binder_registry_.BindInterface(source_info, interface_name, | 3245 gpu_binder_registry_.BindInterface(source_info, interface_name, |
3245 std::move(*interface_pipe)); | 3246 std::move(*interface_pipe)); |
3246 } | 3247 } |
3247 } | 3248 } |
3248 | 3249 |
3249 void ChromeContentBrowserClient::RegisterInProcessServices( | 3250 void ChromeContentBrowserClient::RegisterInProcessServices( |
3250 StaticServiceMap* services) { | 3251 StaticServiceMap* services) { |
3251 #if defined(ENABLE_MOJO_MEDIA_IN_BROWSER_PROCESS) | 3252 #if BUILDFLAG(ENABLE_MOJO_MEDIA_IN_BROWSER_PROCESS) |
3252 content::ServiceInfo info; | 3253 content::ServiceInfo info; |
3253 info.factory = base::Bind(&media::CreateMediaService); | 3254 info.factory = base::Bind(&media::CreateMediaService); |
3254 services->insert(std::make_pair("media", info)); | 3255 services->insert(std::make_pair("media", info)); |
3255 #endif | 3256 #endif |
3256 #if defined(OS_CHROMEOS) | 3257 #if defined(OS_CHROMEOS) |
3257 { | 3258 { |
3258 content::ServiceInfo info; | 3259 content::ServiceInfo info; |
3259 info.factory = base::Bind(&ChromeServiceChromeOS::CreateService); | 3260 info.factory = base::Bind(&ChromeServiceChromeOS::CreateService); |
3260 info.task_runner = base::ThreadTaskRunnerHandle::Get(); | 3261 info.task_runner = base::ThreadTaskRunnerHandle::Get(); |
3261 services->insert(std::make_pair(kChromeServiceName, info)); | 3262 services->insert(std::make_pair(kChromeServiceName, info)); |
(...skipping 14 matching lines...) Expand all Loading... |
3276 info.factory = base::Bind(&ash_util::CreateEmbeddedAshService, | 3277 info.factory = base::Bind(&ash_util::CreateEmbeddedAshService, |
3277 base::ThreadTaskRunnerHandle::Get()); | 3278 base::ThreadTaskRunnerHandle::Get()); |
3278 info.task_runner = base::ThreadTaskRunnerHandle::Get(); | 3279 info.task_runner = base::ThreadTaskRunnerHandle::Get(); |
3279 services->insert(std::make_pair(ash::mojom::kServiceName, info)); | 3280 services->insert(std::make_pair(ash::mojom::kServiceName, info)); |
3280 } | 3281 } |
3281 #endif // OS_CHROMEOS | 3282 #endif // OS_CHROMEOS |
3282 } | 3283 } |
3283 | 3284 |
3284 void ChromeContentBrowserClient::RegisterOutOfProcessServices( | 3285 void ChromeContentBrowserClient::RegisterOutOfProcessServices( |
3285 OutOfProcessServiceMap* services) { | 3286 OutOfProcessServiceMap* services) { |
3286 #if defined(ENABLE_MOJO_MEDIA_IN_UTILITY_PROCESS) | 3287 #if BUILDFLAG(ENABLE_MOJO_MEDIA_IN_UTILITY_PROCESS) |
3287 services->insert(std::make_pair("media", | 3288 services->insert(std::make_pair("media", |
3288 base::ASCIIToUTF16("Media Service"))); | 3289 base::ASCIIToUTF16("Media Service"))); |
3289 #endif | 3290 #endif |
3290 } | 3291 } |
3291 | 3292 |
3292 std::unique_ptr<base::Value> | 3293 std::unique_ptr<base::Value> |
3293 ChromeContentBrowserClient::GetServiceManifestOverlay(base::StringPiece name) { | 3294 ChromeContentBrowserClient::GetServiceManifestOverlay(base::StringPiece name) { |
3294 ResourceBundle& rb = ResourceBundle::GetSharedInstance(); | 3295 ResourceBundle& rb = ResourceBundle::GetSharedInstance(); |
3295 int id = -1; | 3296 int id = -1; |
3296 if (name == content::mojom::kBrowserServiceName) | 3297 if (name == content::mojom::kBrowserServiceName) |
(...skipping 308 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3605 RedirectNonUINonIOBrowserThreadsToTaskScheduler() { | 3606 RedirectNonUINonIOBrowserThreadsToTaskScheduler() { |
3606 return variations::GetVariationParamValue( | 3607 return variations::GetVariationParamValue( |
3607 "BrowserScheduler", "RedirectNonUINonIOBrowserThreads") == "true"; | 3608 "BrowserScheduler", "RedirectNonUINonIOBrowserThreads") == "true"; |
3608 } | 3609 } |
3609 | 3610 |
3610 // static | 3611 // static |
3611 void ChromeContentBrowserClient::SetDefaultQuotaSettingsForTesting( | 3612 void ChromeContentBrowserClient::SetDefaultQuotaSettingsForTesting( |
3612 const storage::QuotaSettings* settings) { | 3613 const storage::QuotaSettings* settings) { |
3613 g_default_quota_settings = settings; | 3614 g_default_quota_settings = settings; |
3614 } | 3615 } |
OLD | NEW |