| 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..e3b5b7a122d2ec0cf50c3b7ec3813fe8fcbc41e3 100644
|
| --- a/chrome/browser/safe_browsing/services_delegate_impl.cc
|
| +++ b/chrome/browser/safe_browsing/services_delegate_impl.cc
|
| @@ -8,12 +8,22 @@
|
|
|
| #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 {
|
|
|
| +namespace {
|
| +const base::Feature kSafeBrowsingV4LocalDatabaseManagerEnabled {
|
| + "SafeBrowsingV4LocalDatabaseManagerEnabled",
|
| + base::FEATURE_DISABLED_BY_DEFAULT
|
| +};
|
| +} // namespace
|
| +
|
| // static
|
| std::unique_ptr<ServicesDelegate> ServicesDelegate::Create(
|
| SafeBrowsingService* safe_browsing_service) {
|
| @@ -52,7 +62,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 +79,10 @@ void ServicesDelegateImpl::InitializeServices() {
|
| services_creator_->CanCreateResourceRequestDetector())
|
| ? services_creator_->CreateResourceRequestDetector()
|
| : CreateResourceRequestDetector());
|
| +
|
| + if (IsV4LocalDatabaseManagerEnabled()) {
|
| + v4_local_database_manager_ = CreateV4LocalDatabaseManager();
|
| + }
|
| }
|
|
|
| void ServicesDelegateImpl::ShutdownServices() {
|
| @@ -150,4 +164,28 @@ 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() {
|
| + return base::FeatureList::IsEnabled(
|
| + kSafeBrowsingV4LocalDatabaseManagerEnabled);
|
| +}
|
| +
|
| } // namespace safe_browsing
|
|
|