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 178 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
189 #include "net/base/mime_util.h" | 189 #include "net/base/mime_util.h" |
190 #include "net/base/registry_controlled_domains/registry_controlled_domain.h" | 190 #include "net/base/registry_controlled_domains/registry_controlled_domain.h" |
191 #include "net/cookies/canonical_cookie.h" | 191 #include "net/cookies/canonical_cookie.h" |
192 #include "net/cookies/cookie_options.h" | 192 #include "net/cookies/cookie_options.h" |
193 #include "net/ssl/ssl_cert_request_info.h" | 193 #include "net/ssl/ssl_cert_request_info.h" |
194 #include "ppapi/features/features.h" | 194 #include "ppapi/features/features.h" |
195 #include "ppapi/host/ppapi_host.h" | 195 #include "ppapi/host/ppapi_host.h" |
196 #include "printing/features/features.h" | 196 #include "printing/features/features.h" |
197 #include "services/image_decoder/public/interfaces/constants.mojom.h" | 197 #include "services/image_decoder/public/interfaces/constants.mojom.h" |
198 #include "services/preferences/public/interfaces/preferences.mojom.h" | 198 #include "services/preferences/public/interfaces/preferences.mojom.h" |
199 #include "services/resource_coordinator/memory/coordinator/coordinator_impl.h" | |
199 #include "services/service_manager/public/cpp/interface_provider.h" | 200 #include "services/service_manager/public/cpp/interface_provider.h" |
200 #include "services/service_manager/public/cpp/interface_registry.h" | 201 #include "services/service_manager/public/cpp/interface_registry.h" |
201 #include "services/service_manager/public/cpp/service.h" | 202 #include "services/service_manager/public/cpp/service.h" |
202 #include "storage/browser/fileapi/external_mount_points.h" | 203 #include "storage/browser/fileapi/external_mount_points.h" |
203 #include "third_party/WebKit/public/platform/modules/webshare/webshare.mojom.h" | 204 #include "third_party/WebKit/public/platform/modules/webshare/webshare.mojom.h" |
204 #include "ui/base/l10n/l10n_util.h" | 205 #include "ui/base/l10n/l10n_util.h" |
205 #include "ui/base/resource/resource_bundle.h" | 206 #include "ui/base/resource/resource_bundle.h" |
206 #include "ui/resources/grit/ui_resources.h" | 207 #include "ui/resources/grit/ui_resources.h" |
207 #include "url/gurl.h" | 208 #include "url/gurl.h" |
208 #include "url/origin.h" | 209 #include "url/origin.h" |
(...skipping 2785 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
2994 base::Unretained(ModuleDatabase::GetInstance())), | 2995 base::Unretained(ModuleDatabase::GetInstance())), |
2995 ui_task_runner); | 2996 ui_task_runner); |
2996 } | 2997 } |
2997 #endif | 2998 #endif |
2998 | 2999 |
2999 #if defined(OS_CHROMEOS) | 3000 #if defined(OS_CHROMEOS) |
3000 registry->AddInterface<metrics::mojom::LeakDetector>( | 3001 registry->AddInterface<metrics::mojom::LeakDetector>( |
3001 base::Bind(&metrics::LeakDetectorRemoteController::Create), | 3002 base::Bind(&metrics::LeakDetectorRemoteController::Create), |
3002 ui_task_runner); | 3003 ui_task_runner); |
3003 #endif | 3004 #endif |
3005 | |
3006 registry->AddInterface( | |
3007 base::Bind( | |
3008 &memory_instrumentation::CoordinatorImpl::BindCoordinatorRequest, | |
3009 base::Unretained(memory_instrumentation::CoordinatorImpl::GetInstance( | |
3010 ui_task_runner.get()))), | |
3011 ui_task_runner); | |
oystein (OOO til 10th of July)
2017/02/16 20:50:00
Does this need to be running on the UI thread?
chiniforooshan
2017/02/16 22:54:15
Coordinator is not thread safe and all calls shoul
oystein (OOO til 10th of July)
2017/02/16 23:19:49
Acknowledged, not changing existing behavior makes
| |
3004 } | 3012 } |
3005 | 3013 |
3006 void ChromeContentBrowserClient::ExposeInterfacesToMediaService( | 3014 void ChromeContentBrowserClient::ExposeInterfacesToMediaService( |
3007 service_manager::InterfaceRegistry* registry, | 3015 service_manager::InterfaceRegistry* registry, |
3008 content::RenderFrameHost* render_frame_host) { | 3016 content::RenderFrameHost* render_frame_host) { |
3009 // TODO(xhwang): Only register this when ENABLE_MOJO_MEDIA. | 3017 // TODO(xhwang): Only register this when ENABLE_MOJO_MEDIA. |
3010 #if defined(OS_CHROMEOS) | 3018 #if defined(OS_CHROMEOS) |
3011 registry->AddInterface( | 3019 registry->AddInterface( |
3012 base::Bind(&chromeos::attestation::PlatformVerificationImpl::Create, | 3020 base::Bind(&chromeos::attestation::PlatformVerificationImpl::Create, |
3013 render_frame_host)); | 3021 render_frame_host)); |
(...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
3090 } | 3098 } |
3091 #endif | 3099 #endif |
3092 } | 3100 } |
3093 | 3101 |
3094 void ChromeContentBrowserClient::ExposeInterfacesToGpuProcess( | 3102 void ChromeContentBrowserClient::ExposeInterfacesToGpuProcess( |
3095 service_manager::InterfaceRegistry* registry, | 3103 service_manager::InterfaceRegistry* registry, |
3096 content::GpuProcessHost* render_process_host) { | 3104 content::GpuProcessHost* render_process_host) { |
3097 registry->AddInterface( | 3105 registry->AddInterface( |
3098 base::Bind(&metrics::CallStackProfileCollector::Create, | 3106 base::Bind(&metrics::CallStackProfileCollector::Create, |
3099 metrics::CallStackProfileParams::GPU_PROCESS)); | 3107 metrics::CallStackProfileParams::GPU_PROCESS)); |
3108 | |
3109 auto ui_task_runner = content::BrowserThread::GetTaskRunnerForThread( | |
3110 content::BrowserThread::UI); | |
3111 registry->AddInterface( | |
3112 base::Bind( | |
3113 &memory_instrumentation::CoordinatorImpl::BindCoordinatorRequest, | |
3114 base::Unretained(memory_instrumentation::CoordinatorImpl::GetInstance( | |
3115 ui_task_runner.get()))), | |
3116 ui_task_runner); | |
3100 } | 3117 } |
3101 | 3118 |
3102 void ChromeContentBrowserClient::RegisterInProcessServices( | 3119 void ChromeContentBrowserClient::RegisterInProcessServices( |
3103 StaticServiceMap* services) { | 3120 StaticServiceMap* services) { |
3104 #if defined(ENABLE_MOJO_MEDIA_IN_BROWSER_PROCESS) | 3121 #if defined(ENABLE_MOJO_MEDIA_IN_BROWSER_PROCESS) |
3105 content::ServiceInfo info; | 3122 content::ServiceInfo info; |
3106 info.factory = base::Bind(&media::CreateMediaService); | 3123 info.factory = base::Bind(&media::CreateMediaService); |
3107 services->insert(std::make_pair("media", info)); | 3124 services->insert(std::make_pair("media", info)); |
3108 #endif | 3125 #endif |
3109 #if defined(OS_CHROMEOS) | 3126 #if defined(OS_CHROMEOS) |
(...skipping 324 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
3434 RedirectNonUINonIOBrowserThreadsToTaskScheduler() { | 3451 RedirectNonUINonIOBrowserThreadsToTaskScheduler() { |
3435 return variations::GetVariationParamValue( | 3452 return variations::GetVariationParamValue( |
3436 "BrowserScheduler", "RedirectNonUINonIOBrowserThreads") == "true"; | 3453 "BrowserScheduler", "RedirectNonUINonIOBrowserThreads") == "true"; |
3437 } | 3454 } |
3438 | 3455 |
3439 // static | 3456 // static |
3440 void ChromeContentBrowserClient::SetDefaultQuotaSettingsForTesting( | 3457 void ChromeContentBrowserClient::SetDefaultQuotaSettingsForTesting( |
3441 const storage::QuotaSettings* settings) { | 3458 const storage::QuotaSettings* settings) { |
3442 g_default_quota_settings = settings; | 3459 g_default_quota_settings = settings; |
3443 } | 3460 } |
OLD | NEW |