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 2097437e71f065d5f3f435832d8345ec6f3c49f5..cb72d0e9c2e21db59e7644e3f7512139943c3a27 100644 |
--- a/chrome/browser/safe_browsing/services_delegate_impl.cc |
+++ b/chrome/browser/safe_browsing/services_delegate_impl.cc |
@@ -8,6 +8,7 @@ |
#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" |
@@ -15,6 +16,15 @@ |
#include "content/public/browser/browser_thread.h" |
namespace safe_browsing { |
+ |
+#ifdef NDEBUG |
+namespace { |
+const base::Feature kSafeBrowsingV4LocalDatabaseManagerEnabled { |
+ "SafeBrowsingV4LocalDatabaseManagerEnabled", |
+ base::FEATURE_DISABLED_BY_DEFAULT |
+}; |
+} // namespace |
+#endif |
// static |
std::unique_ptr<ServicesDelegate> ServicesDelegate::Create( |
@@ -54,11 +64,6 @@ |
#endif // defined(SAFE_BROWSING_CSD) |
} |
-const scoped_refptr<V4LocalDatabaseManager>& |
-ServicesDelegateImpl::v4_local_database_manager() const { |
- return v4_local_database_manager_; |
-} |
- |
void ServicesDelegateImpl::Initialize() { |
DCHECK_CURRENTLY_ON(content::BrowserThread::UI); |
download_service_.reset( |
@@ -77,8 +82,9 @@ |
? services_creator_->CreateResourceRequestDetector() |
: CreateResourceRequestDetector()); |
- v4_local_database_manager_ = |
- V4LocalDatabaseManager::Create(SafeBrowsingService::GetBaseFilename()); |
+ if (IsV4LocalDatabaseManagerEnabled()) { |
+ v4_local_database_manager_ = CreateV4LocalDatabaseManager(); |
+ } |
} |
void ServicesDelegateImpl::ShutdownServices() { |
@@ -175,4 +181,17 @@ |
} |
} |
+V4LocalDatabaseManager* ServicesDelegateImpl::CreateV4LocalDatabaseManager() { |
+ return new V4LocalDatabaseManager(SafeBrowsingService::GetBaseFilename()); |
+} |
+ |
+bool ServicesDelegateImpl::IsV4LocalDatabaseManagerEnabled() { |
+#ifndef NDEBUG |
+ return true; |
+#else |
+ return base::FeatureList::IsEnabled( |
+ kSafeBrowsingV4LocalDatabaseManagerEnabled); |
+#endif |
+} |
+ |
} // namespace safe_browsing |