Index: chrome/browser/safe_browsing/safe_browsing_service.cc |
diff --git a/chrome/browser/safe_browsing/safe_browsing_service.cc b/chrome/browser/safe_browsing/safe_browsing_service.cc |
index 88badbfd8460fdabd7ee2c677223b0732eeac04b..d03c2e4637e38292ab6b1501386d272bc71ee20b 100644 |
--- a/chrome/browser/safe_browsing/safe_browsing_service.cc |
+++ b/chrome/browser/safe_browsing/safe_browsing_service.cc |
@@ -39,7 +39,9 @@ |
#include "components/safe_browsing/common/safebrowsing_switches.h" |
#include "components/safe_browsing_db/database_manager.h" |
#include "components/safe_browsing_db/safe_browsing_prefs.h" |
+#include "components/safe_browsing_db/v4_feature_list.h" |
#include "components/safe_browsing_db/v4_get_hash_protocol_manager.h" |
+#include "components/safe_browsing_db/v4_local_database_manager.h" |
#include "components/user_prefs/tracked/tracked_preference_validation_delegate.h" |
#include "content/public/browser/browser_thread.h" |
#include "content/public/browser/cookie_store_factory.h" |
@@ -284,7 +286,8 @@ SafeBrowsingService* SafeBrowsingService::CreateSafeBrowsingService() { |
SafeBrowsingService::SafeBrowsingService() |
: services_delegate_(ServicesDelegate::Create(this)), |
enabled_(false), |
- enabled_by_prefs_(false) {} |
+ enabled_by_prefs_(false), |
+ enabled_v4_only_(safe_browsing::V4FeatureList::IsV4OnlyEnabled()) {} |
SafeBrowsingService::~SafeBrowsingService() { |
// We should have already been shut down. If we're still enabled, then the |
@@ -302,7 +305,9 @@ void SafeBrowsingService::Initialize() { |
ui_manager_ = CreateUIManager(); |
- database_manager_ = CreateDatabaseManager(); |
+ if (!enabled_v4_only_) { |
+ database_manager_ = CreateDatabaseManager(); |
+ } |
services_delegate_->Initialize(); |
services_delegate_->InitializeCsdService(url_request_context_getter_.get()); |
@@ -365,7 +370,7 @@ bool SafeBrowsingService::DownloadBinHashNeeded() const { |
DCHECK_CURRENTLY_ON(BrowserThread::UI); |
#if defined(FULL_SAFE_BROWSING) |
- return database_manager_->IsDownloadProtectionEnabled() || |
+ return database_manager()->IsDownloadProtectionEnabled() || |
(download_protection_service() && |
download_protection_service()->enabled()); |
#else |
@@ -385,12 +390,13 @@ SafeBrowsingService::ui_manager() const { |
const scoped_refptr<SafeBrowsingDatabaseManager>& |
SafeBrowsingService::database_manager() const { |
- return database_manager_; |
+ return enabled_v4_only_ ? v4_local_database_manager() : database_manager_; |
} |
SafeBrowsingProtocolManager* SafeBrowsingService::protocol_manager() const { |
DCHECK_CURRENTLY_ON(BrowserThread::IO); |
#if defined(SAFE_BROWSING_DB_LOCAL) |
+ DCHECK(!enabled_v4_only_); |
return protocol_manager_.get(); |
#else |
return nullptr; |
@@ -402,7 +408,7 @@ SafeBrowsingPingManager* SafeBrowsingService::ping_manager() const { |
return ping_manager_.get(); |
} |
-const scoped_refptr<V4LocalDatabaseManager>& |
+const scoped_refptr<SafeBrowsingDatabaseManager>& |
SafeBrowsingService::v4_local_database_manager() const { |
return services_delegate_->v4_local_database_manager(); |
} |
@@ -460,7 +466,7 @@ void SafeBrowsingService::RegisterAllDelayedAnalysis() { |
#if defined(FULL_SAFE_BROWSING) |
RegisterBinaryIntegrityAnalysis(); |
RegisterBlacklistLoadAnalysis(); |
- RegisterModuleLoadAnalysis(database_manager_); |
+ RegisterModuleLoadAnalysis(database_manager()); |
RegisterVariationsSeedSignatureAnalysis(); |
#endif |
} |
@@ -520,6 +526,7 @@ std::string SafeBrowsingService::GetProtocolConfigClientName() const { |
SafeBrowsingProtocolManagerDelegate* |
SafeBrowsingService::GetProtocolManagerDelegate() { |
#if defined(SAFE_BROWSING_DB_LOCAL) |
+ DCHECK(!enabled_v4_only_); |
return static_cast<LocalSafeBrowsingDatabaseManager*>( |
database_manager_.get()); |
#else |
@@ -541,17 +548,21 @@ void SafeBrowsingService::StartOnIOThread( |
services_delegate_->StartOnIOThread(url_request_context_getter, v4_config); |
#if defined(SAFE_BROWSING_DB_LOCAL) || defined(SAFE_BROWSING_DB_REMOTE) |
- DCHECK(database_manager_.get()); |
- database_manager_->StartOnIOThread(url_request_context_getter, v4_config); |
+ if (!enabled_v4_only_) { |
+ DCHECK(database_manager_.get()); |
+ database_manager_->StartOnIOThread(url_request_context_getter, v4_config); |
+ } |
#endif |
#if defined(SAFE_BROWSING_DB_LOCAL) |
- SafeBrowsingProtocolManagerDelegate* protocol_manager_delegate = |
- GetProtocolManagerDelegate(); |
- if (protocol_manager_delegate) { |
- protocol_manager_ = SafeBrowsingProtocolManager::Create( |
- protocol_manager_delegate, url_request_context_getter, config); |
- protocol_manager_->Initialize(); |
+ if (!enabled_v4_only_) { |
+ SafeBrowsingProtocolManagerDelegate* protocol_manager_delegate = |
+ GetProtocolManagerDelegate(); |
+ if (protocol_manager_delegate) { |
+ protocol_manager_ = SafeBrowsingProtocolManager::Create( |
+ protocol_manager_delegate, url_request_context_getter, config); |
+ protocol_manager_->Initialize(); |
+ } |
} |
#endif |
@@ -564,7 +575,9 @@ void SafeBrowsingService::StopOnIOThread(bool shutdown) { |
DCHECK_CURRENTLY_ON(BrowserThread::IO); |
#if defined(SAFE_BROWSING_DB_LOCAL) || defined(SAFE_BROWSING_DB_REMOTE) |
- database_manager_->StopOnIOThread(shutdown); |
+ if (!enabled_v4_only_) { |
+ database_manager_->StopOnIOThread(shutdown); |
+ } |
#endif |
ui_manager_->StopOnIOThread(shutdown); |