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 57 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
68 #include "chrome/browser/printing/printing_message_filter.h" | 68 #include "chrome/browser/printing/printing_message_filter.h" |
69 #include "chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.h" | 69 #include "chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.h" |
70 #include "chrome/browser/profiles/profile.h" | 70 #include "chrome/browser/profiles/profile.h" |
71 #include "chrome/browser/profiles/profile_io_data.h" | 71 #include "chrome/browser/profiles/profile_io_data.h" |
72 #include "chrome/browser/renderer_host/chrome_navigation_ui_data.h" | 72 #include "chrome/browser/renderer_host/chrome_navigation_ui_data.h" |
73 #include "chrome/browser/renderer_host/chrome_render_message_filter.h" | 73 #include "chrome/browser/renderer_host/chrome_render_message_filter.h" |
74 #include "chrome/browser/renderer_host/pepper/chrome_browser_pepper_host_factory
.h" | 74 #include "chrome/browser/renderer_host/pepper/chrome_browser_pepper_host_factory
.h" |
75 #include "chrome/browser/safe_browsing/certificate_reporting_service.h" | 75 #include "chrome/browser/safe_browsing/certificate_reporting_service.h" |
76 #include "chrome/browser/safe_browsing/certificate_reporting_service_factory.h" | 76 #include "chrome/browser/safe_browsing/certificate_reporting_service_factory.h" |
77 #include "chrome/browser/safe_browsing/mojo_safe_browsing_impl.h" | 77 #include "chrome/browser/safe_browsing/mojo_safe_browsing_impl.h" |
| 78 #include "chrome/browser/safe_browsing/safe_browsing_browser_throttle.h" |
78 #include "chrome/browser/safe_browsing/safe_browsing_service.h" | 79 #include "chrome/browser/safe_browsing/safe_browsing_service.h" |
79 #include "chrome/browser/search/instant_service.h" | 80 #include "chrome/browser/search/instant_service.h" |
80 #include "chrome/browser/search/instant_service_factory.h" | 81 #include "chrome/browser/search/instant_service_factory.h" |
81 #include "chrome/browser/search/search.h" | 82 #include "chrome/browser/search/search.h" |
82 #include "chrome/browser/speech/chrome_speech_recognition_manager_delegate.h" | 83 #include "chrome/browser/speech/chrome_speech_recognition_manager_delegate.h" |
83 #include "chrome/browser/speech/tts_controller.h" | 84 #include "chrome/browser/speech/tts_controller.h" |
84 #include "chrome/browser/speech/tts_message_filter.h" | 85 #include "chrome/browser/speech/tts_message_filter.h" |
85 #include "chrome/browser/ssl/ssl_blocking_page.h" | 86 #include "chrome/browser/ssl/ssl_blocking_page.h" |
86 #include "chrome/browser/ssl/ssl_cert_reporter.h" | 87 #include "chrome/browser/ssl/ssl_cert_reporter.h" |
87 #include "chrome/browser/ssl/ssl_client_certificate_selector.h" | 88 #include "chrome/browser/ssl/ssl_client_certificate_selector.h" |
(...skipping 92 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
180 #include "content/public/browser/storage_partition.h" | 181 #include "content/public/browser/storage_partition.h" |
181 #include "content/public/browser/vpn_service_proxy.h" | 182 #include "content/public/browser/vpn_service_proxy.h" |
182 #include "content/public/browser/web_contents.h" | 183 #include "content/public/browser/web_contents.h" |
183 #include "content/public/common/child_process_host.h" | 184 #include "content/public/common/child_process_host.h" |
184 #include "content/public/common/content_descriptors.h" | 185 #include "content/public/common/content_descriptors.h" |
185 #include "content/public/common/content_features.h" | 186 #include "content/public/common/content_features.h" |
186 #include "content/public/common/content_switches.h" | 187 #include "content/public/common/content_switches.h" |
187 #include "content/public/common/sandbox_type.h" | 188 #include "content/public/common/sandbox_type.h" |
188 #include "content/public/common/service_manager_connection.h" | 189 #include "content/public/common/service_manager_connection.h" |
189 #include "content/public/common/service_names.mojom.h" | 190 #include "content/public/common/service_names.mojom.h" |
| 191 #include "content/public/common/url_loader_throttle.h" |
190 #include "content/public/common/url_utils.h" | 192 #include "content/public/common/url_utils.h" |
191 #include "content/public/common/web_preferences.h" | 193 #include "content/public/common/web_preferences.h" |
192 #include "device/bluetooth/adapter_factory.h" | 194 #include "device/bluetooth/adapter_factory.h" |
193 #include "device/bluetooth/public/interfaces/adapter.mojom.h" | 195 #include "device/bluetooth/public/interfaces/adapter.mojom.h" |
194 #include "device/usb/public/interfaces/chooser_service.mojom.h" | 196 #include "device/usb/public/interfaces/chooser_service.mojom.h" |
195 #include "device/usb/public/interfaces/device_manager.mojom.h" | 197 #include "device/usb/public/interfaces/device_manager.mojom.h" |
196 #include "extensions/features/features.h" | 198 #include "extensions/features/features.h" |
197 #include "gpu/config/gpu_switches.h" | 199 #include "gpu/config/gpu_switches.h" |
198 #include "media/audio/audio_manager.h" | 200 #include "media/audio/audio_manager.h" |
199 #include "media/media_features.h" | 201 #include "media/media_features.h" |
(...skipping 2307 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2507 } | 2509 } |
2508 return false; | 2510 return false; |
2509 } | 2511 } |
2510 #endif | 2512 #endif |
2511 | 2513 |
2512 return true; | 2514 return true; |
2513 } | 2515 } |
2514 | 2516 |
2515 void ChromeContentBrowserClient::ResourceDispatcherHostCreated() { | 2517 void ChromeContentBrowserClient::ResourceDispatcherHostCreated() { |
2516 DCHECK_CURRENTLY_ON(BrowserThread::UI); | 2518 DCHECK_CURRENTLY_ON(BrowserThread::UI); |
| 2519 |
| 2520 safe_browsing_ = g_browser_process->safe_browsing_service(); |
| 2521 |
2517 for (size_t i = 0; i < extra_parts_.size(); ++i) | 2522 for (size_t i = 0; i < extra_parts_.size(); ++i) |
2518 extra_parts_[i]->ResourceDispatcherHostCreated(); | 2523 extra_parts_[i]->ResourceDispatcherHostCreated(); |
2519 | 2524 |
2520 return g_browser_process->ResourceDispatcherHostCreated(); | 2525 return g_browser_process->ResourceDispatcherHostCreated(); |
2521 } | 2526 } |
2522 | 2527 |
2523 content::SpeechRecognitionManagerDelegate* | 2528 content::SpeechRecognitionManagerDelegate* |
2524 ChromeContentBrowserClient::CreateSpeechRecognitionManagerDelegate() { | 2529 ChromeContentBrowserClient::CreateSpeechRecognitionManagerDelegate() { |
2525 return new speech::ChromeSpeechRecognitionManagerDelegate(); | 2530 return new speech::ChromeSpeechRecognitionManagerDelegate(); |
2526 } | 2531 } |
(...skipping 462 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2989 Profile::FromBrowserContext(render_process_host->GetBrowserContext()); | 2994 Profile::FromBrowserContext(render_process_host->GetBrowserContext()); |
2990 net::URLRequestContextGetter* context = | 2995 net::URLRequestContextGetter* context = |
2991 render_process_host->GetStoragePartition()->GetURLRequestContext(); | 2996 render_process_host->GetStoragePartition()->GetURLRequestContext(); |
2992 registry->AddInterface( | 2997 registry->AddInterface( |
2993 base::Bind(&NetBenchmarking::Create, profile, context)); | 2998 base::Bind(&NetBenchmarking::Create, profile, context)); |
2994 } | 2999 } |
2995 | 3000 |
2996 if (base::CommandLine::ForCurrentProcess()->HasSwitch( | 3001 if (base::CommandLine::ForCurrentProcess()->HasSwitch( |
2997 switches::kEnableNetworkService)) { | 3002 switches::kEnableNetworkService)) { |
2998 registry->AddInterface( | 3003 registry->AddInterface( |
2999 base::Bind( | 3004 base::Bind(&safe_browsing::MojoSafeBrowsingImpl::Create, |
3000 &safe_browsing::MojoSafeBrowsingImpl::Create, | 3005 safe_browsing_->database_manager(), |
3001 g_browser_process->safe_browsing_service()->database_manager(), | 3006 safe_browsing_->ui_manager(), render_process_host->GetID()), |
3002 g_browser_process->safe_browsing_service()->ui_manager(), | |
3003 render_process_host->GetID()), | |
3004 BrowserThread::GetTaskRunnerForThread(BrowserThread::IO)); | 3007 BrowserThread::GetTaskRunnerForThread(BrowserThread::IO)); |
3005 } | 3008 } |
3006 | 3009 |
3007 #if defined(OS_WIN) | 3010 #if defined(OS_WIN) |
3008 if (base::FeatureList::IsEnabled(features::kModuleDatabase)) { | 3011 if (base::FeatureList::IsEnabled(features::kModuleDatabase)) { |
3009 // Add the ModuleDatabase interface. This is the interface used by renderer | 3012 // Add the ModuleDatabase interface. This is the interface used by renderer |
3010 // processes to notify the browser of modules in their address space. It | 3013 // processes to notify the browser of modules in their address space. It |
3011 // ultimately drives the chrome://conflicts UI. The process handle is not | 3014 // ultimately drives the chrome://conflicts UI. The process handle is not |
3012 // yet available at this point so pass in a callback to allow it to be | 3015 // yet available at this point so pass in a callback to allow it to be |
3013 // retrieved at the time the interface is actually created. It is safe to | 3016 // retrieved at the time the interface is actually created. It is safe to |
(...skipping 482 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3496 return variations::GetVariationParamValue( | 3499 return variations::GetVariationParamValue( |
3497 "BrowserScheduler", "RedirectDOMStorageTaskRunner") == "true"; | 3500 "BrowserScheduler", "RedirectDOMStorageTaskRunner") == "true"; |
3498 } | 3501 } |
3499 | 3502 |
3500 bool ChromeContentBrowserClient:: | 3503 bool ChromeContentBrowserClient:: |
3501 RedirectNonUINonIOBrowserThreadsToTaskScheduler() { | 3504 RedirectNonUINonIOBrowserThreadsToTaskScheduler() { |
3502 return variations::GetVariationParamValue( | 3505 return variations::GetVariationParamValue( |
3503 "BrowserScheduler", "RedirectNonUINonIOBrowserThreads") == "true"; | 3506 "BrowserScheduler", "RedirectNonUINonIOBrowserThreads") == "true"; |
3504 } | 3507 } |
3505 | 3508 |
| 3509 std::vector<std::unique_ptr<content::URLLoaderThrottle>> |
| 3510 ChromeContentBrowserClient::CreateURLLoaderThrottles( |
| 3511 const base::Callback<content::WebContents*()>& wc_getter) { |
| 3512 DCHECK_CURRENTLY_ON(BrowserThread::IO); |
| 3513 DCHECK(base::CommandLine::ForCurrentProcess()->HasSwitch( |
| 3514 switches::kEnableNetworkService)); |
| 3515 |
| 3516 std::vector<std::unique_ptr<content::URLLoaderThrottle>> result; |
| 3517 result.push_back(base::MakeUnique<safe_browsing::SafeBrowsingBrowserThrottle>( |
| 3518 safe_browsing_->database_manager(), safe_browsing_->ui_manager(), |
| 3519 wc_getter)); |
| 3520 return result; |
| 3521 } |
| 3522 |
3506 // static | 3523 // static |
3507 void ChromeContentBrowserClient::SetDefaultQuotaSettingsForTesting( | 3524 void ChromeContentBrowserClient::SetDefaultQuotaSettingsForTesting( |
3508 const storage::QuotaSettings* settings) { | 3525 const storage::QuotaSettings* settings) { |
3509 g_default_quota_settings = settings; | 3526 g_default_quota_settings = settings; |
3510 } | 3527 } |
OLD | NEW |