Chromium Code Reviews| Index: chrome/browser/safe_browsing/services_delegate_impl.cc |
| diff --git a/chrome/browser/safe_browsing/services_delegate_impl.cc b/chrome/browser/safe_browsing/services_delegate_impl.cc |
| index ae6cfdaa6882ad211dd081b486c6ae4f9bafbb7f..e8ec54cdac24d3c0bf9395d359412f2258b9f417 100644 |
| --- a/chrome/browser/safe_browsing/services_delegate_impl.cc |
| +++ b/chrome/browser/safe_browsing/services_delegate_impl.cc |
| @@ -8,8 +8,11 @@ |
| #include "base/command_line.h" |
| #include "base/memory/ptr_util.h" |
| +#include "base/metrics/field_trial.h" |
| +#include "base/strings/string_util.h" |
| #include "chrome/browser/safe_browsing/safe_browsing_service.h" |
| #include "chrome/common/chrome_switches.h" |
| +#include "components/safe_browsing_db/v4_local_database_manager.h" |
| #include "content/public/browser/browser_thread.h" |
| namespace safe_browsing { |
| @@ -52,7 +55,7 @@ void ServicesDelegateImpl::InitializeCsdService( |
| #endif // defined(SAFE_BROWSING_CSD) |
| } |
| -void ServicesDelegateImpl::InitializeServices() { |
| +void ServicesDelegateImpl::Initialize() { |
| DCHECK_CURRENTLY_ON(content::BrowserThread::UI); |
| download_service_.reset( |
| (services_creator_ && |
| @@ -69,6 +72,10 @@ void ServicesDelegateImpl::InitializeServices() { |
| services_creator_->CanCreateResourceRequestDetector()) |
| ? services_creator_->CreateResourceRequestDetector() |
| : CreateResourceRequestDetector()); |
| + |
| + if (IsV4LocalDatabaseManagerEnabled()) { |
| + v4_local_database_manager_ = CreateV4LocalDatabaseManager(); |
| + } |
| } |
| void ServicesDelegateImpl::ShutdownServices() { |
| @@ -150,4 +157,29 @@ ResourceRequestDetector* ServicesDelegateImpl::CreateResourceRequestDetector() { |
| incident_service_->GetIncidentReceiver()); |
| } |
| +void ServicesDelegateImpl::StartOnIOThread( |
| + net::URLRequestContextGetter* url_request_context_getter, |
| + const V4ProtocolConfig& v4_config) { |
| + if (v4_local_database_manager_.get()) { |
| + v4_local_database_manager_->StartOnIOThread(url_request_context_getter, |
| + v4_config); |
| + } |
| +} |
| + |
| +void ServicesDelegateImpl::StopOnIOThread(bool shutdown) { |
| + if (v4_local_database_manager_.get()) { |
| + v4_local_database_manager_->StopOnIOThread(shutdown); |
| + } |
| +} |
| + |
| +V4LocalDatabaseManager* ServicesDelegateImpl::CreateV4LocalDatabaseManager() { |
| + return new V4LocalDatabaseManager(); |
| +} |
| + |
| +bool ServicesDelegateImpl::IsV4LocalDatabaseManagerEnabled() { |
| + const std::string group_name = base::FieldTrialList::FindFullName( |
|
rkaplow
2016/05/02 16:27:35
if this is a new field trial we suggest using the
vakh (use Gerrit instead)
2016/05/02 22:04:34
Done.
|
| + "SafeBrowsingV4LocalDatabaseManagerEnabled"); |
| + return StartsWith(group_name, "Enabled", base::CompareCase::SENSITIVE); |
| +} |
| + |
| } // namespace safe_browsing |