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 ede1c52810771bd133bbe4adac9d5196d96411a0..8d62c0626e61730a6863ae51b64dc3b6753653d3 100644 |
--- a/chrome/browser/safe_browsing/safe_browsing_service.cc |
+++ b/chrome/browser/safe_browsing/safe_browsing_service.cc |
@@ -52,6 +52,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" |
@@ -244,7 +250,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 |
@@ -380,7 +386,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 |
@@ -488,7 +496,7 @@ void SafeBrowsingService::StartOnIOThread( |
SafeBrowsingProtocolConfig config = GetProtocolConfig(); |
-#if defined(SAFE_BROWSING_DB_LOCAL) |
+#if defined(SAFE_BROWSING_DB_LOCAL) || defined(SAFE_BROWSING_DB_REMOTE) |
// TODO(pkasting): Remove ScopedTracker below once crbug.com/455469 is fixed. |
tracked_objects::ScopedTracker tracking_profile2( |
FROM_HERE_WITH_EXPLICIT_FUNCTION( |
@@ -496,14 +504,18 @@ void SafeBrowsingService::StartOnIOThread( |
DCHECK(database_manager_.get()); |
database_manager_->StartOnIOThread(); |
+#endif |
+#if defined(SAFE_BROWSING_DB_LOCAL) |
// TODO(pkasting): Remove ScopedTracker below once crbug.com/455469 is fixed. |
tracked_objects::ScopedTracker tracking_profile3( |
FROM_HERE_WITH_EXPLICIT_FUNCTION( |
"455469 SafeBrowsingService::StartOnIOThread 3")); |
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 |
@@ -519,7 +531,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); |