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 5a3813c70848b7bd7d513b71a7ee36237cc457f2..df7c7ddbf5e345592c4be039792ff46ba85c5307 100644 |
--- a/chrome/browser/safe_browsing/safe_browsing_service.cc |
+++ b/chrome/browser/safe_browsing/safe_browsing_service.cc |
@@ -51,6 +51,12 @@ |
#include "chrome/installer/util/browser_distribution.h" |
#endif |
+#if defined(SAFE_BROWSING_DB_LOCAL) |
+#include "chrome/browser/safe_browsing/local_database_manager.h" |
+#elif defined(SAFE_BROWSING_DB_REMOTE) |
+#include "chrome/browser/safe_browsing/remote_database_manager.h" |
+#endif |
+ |
#if defined(FULL_SAFE_BROWSING) |
#include "chrome/browser/safe_browsing/incident_reporting/binary_integrity_analyzer.h" |
#include "chrome/browser/safe_browsing/incident_reporting/blacklist_load_analyzer.h" |
@@ -243,7 +249,7 @@ void SafeBrowsingService::Initialize() { |
off_domain_inclusion_detector_.reset( |
new safe_browsing::OffDomainInclusionDetector(database_manager_)); |
-#endif // !defined(OS_ANDROID) |
+#endif // !defined(FULL_SAFE_BROWSING) |
// Track the safe browsing preference of existing profiles. |
// The SafeBrowsingService will be started if any existing profile has the |
@@ -379,7 +385,9 @@ SafeBrowsingUIManager* SafeBrowsingService::CreateUIManager() { |
SafeBrowsingDatabaseManager* SafeBrowsingService::CreateDatabaseManager() { |
#if defined(SAFE_BROWSING_DB_LOCAL) |
- return new SafeBrowsingDatabaseManager(this); |
+ return new LocalSafeBrowsingDatabaseManager(this); |
+#elif defined(SAFE_BROWSING_DB_REMOTE) |
+ return new RemoteSafeBrowsingDatabaseManager(); |
#else |
return NULL; |
#endif |
@@ -475,13 +483,17 @@ void SafeBrowsingService::StartOnIOThread( |
SafeBrowsingProtocolConfig config = GetProtocolConfig(); |
-#if defined(SAFE_BROWSING_DB_LOCAL) |
+#if defined(SAFE_BROWSING_DB_LOCAL) || defined(SAFE_BROWSING_DB_REMOTE) |
DCHECK(database_manager_.get()); |
database_manager_->StartOnIOThread(); |
+#endif |
+#if defined(SAFE_BROWSING_DB_LOCAL) |
DCHECK(!protocol_manager_); |
+ DCHECK(database_manager_->GetProtocolManagerDelegate()), |
protocol_manager_ = SafeBrowsingProtocolManager::Create( |
- database_manager_.get(), url_request_context_getter, config); |
+ database_manager_->GetProtocolManagerDelegate(), |
+ url_request_context_getter, config); |
protocol_manager_->Initialize(); |
#endif |
@@ -493,7 +505,7 @@ void SafeBrowsingService::StartOnIOThread( |
void SafeBrowsingService::StopOnIOThread(bool shutdown) { |
DCHECK_CURRENTLY_ON(BrowserThread::IO); |
-#if defined(SAFE_BROWSING_DB_LOCAL) |
+#if defined(SAFE_BROWSING_DB_LOCAL) || defined(SAFE_BROWSING_DB_REMOTE) |
database_manager_->StopOnIOThread(shutdown); |
#endif |
ui_manager_->StopOnIOThread(shutdown); |