Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(248)

Side by Side Diff: chrome/browser/safe_browsing/services_delegate_impl.cc

Issue 1924983002: Enable V4LocalDatabaseManager based on Finch. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Minor. CR feedback. Created 4 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/safe_browsing/services_delegate_impl.h" 5 #include "chrome/browser/safe_browsing/services_delegate_impl.h"
6 6
7 #include <utility> 7 #include <utility>
8 8
9 #include "base/command_line.h" 9 #include "base/command_line.h"
10 #include "base/memory/ptr_util.h" 10 #include "base/memory/ptr_util.h"
11 #include "base/metrics/field_trial.h"
12 #include "base/strings/string_util.h"
11 #include "chrome/browser/safe_browsing/safe_browsing_service.h" 13 #include "chrome/browser/safe_browsing/safe_browsing_service.h"
12 #include "chrome/common/chrome_switches.h" 14 #include "chrome/common/chrome_switches.h"
15 #include "components/safe_browsing_db/v4_local_database_manager.h"
13 #include "content/public/browser/browser_thread.h" 16 #include "content/public/browser/browser_thread.h"
14 17
15 namespace safe_browsing { 18 namespace safe_browsing {
16 19
17 // static 20 // static
18 std::unique_ptr<ServicesDelegate> ServicesDelegate::Create( 21 std::unique_ptr<ServicesDelegate> ServicesDelegate::Create(
19 SafeBrowsingService* safe_browsing_service) { 22 SafeBrowsingService* safe_browsing_service) {
20 return base::WrapUnique( 23 return base::WrapUnique(
21 new ServicesDelegateImpl(safe_browsing_service, nullptr)); 24 new ServicesDelegateImpl(safe_browsing_service, nullptr));
22 } 25 }
(...skipping 22 matching lines...) Expand all
45 net::URLRequestContextGetter* context_getter) { 48 net::URLRequestContextGetter* context_getter) {
46 DCHECK_CURRENTLY_ON(content::BrowserThread::UI); 49 DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
47 #if defined(SAFE_BROWSING_CSD) 50 #if defined(SAFE_BROWSING_CSD)
48 if (!base::CommandLine::ForCurrentProcess()->HasSwitch( 51 if (!base::CommandLine::ForCurrentProcess()->HasSwitch(
49 switches::kDisableClientSidePhishingDetection)) { 52 switches::kDisableClientSidePhishingDetection)) {
50 csd_service_.reset(ClientSideDetectionService::Create(context_getter)); 53 csd_service_.reset(ClientSideDetectionService::Create(context_getter));
51 } 54 }
52 #endif // defined(SAFE_BROWSING_CSD) 55 #endif // defined(SAFE_BROWSING_CSD)
53 } 56 }
54 57
55 void ServicesDelegateImpl::InitializeServices() { 58 void ServicesDelegateImpl::Initialize() {
56 DCHECK_CURRENTLY_ON(content::BrowserThread::UI); 59 DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
57 download_service_.reset( 60 download_service_.reset(
58 (services_creator_ && 61 (services_creator_ &&
59 services_creator_->CanCreateDownloadProtectionService()) 62 services_creator_->CanCreateDownloadProtectionService())
60 ? services_creator_->CreateDownloadProtectionService() 63 ? services_creator_->CreateDownloadProtectionService()
61 : CreateDownloadProtectionService()); 64 : CreateDownloadProtectionService());
62 incident_service_.reset( 65 incident_service_.reset(
63 (services_creator_ && 66 (services_creator_ &&
64 services_creator_->CanCreateIncidentReportingService()) 67 services_creator_->CanCreateIncidentReportingService())
65 ? services_creator_->CreateIncidentReportingService() 68 ? services_creator_->CreateIncidentReportingService()
66 : CreateIncidentReportingService()); 69 : CreateIncidentReportingService());
67 resource_request_detector_.reset( 70 resource_request_detector_.reset(
68 (services_creator_ && 71 (services_creator_ &&
69 services_creator_->CanCreateResourceRequestDetector()) 72 services_creator_->CanCreateResourceRequestDetector())
70 ? services_creator_->CreateResourceRequestDetector() 73 ? services_creator_->CreateResourceRequestDetector()
71 : CreateResourceRequestDetector()); 74 : CreateResourceRequestDetector());
75
76 if (IsV4LocalDatabaseManagerEnabled()) {
77 v4_local_database_manager_ = CreateV4LocalDatabaseManager();
78 }
72 } 79 }
73 80
74 void ServicesDelegateImpl::ShutdownServices() { 81 void ServicesDelegateImpl::ShutdownServices() {
75 DCHECK_CURRENTLY_ON(content::BrowserThread::UI); 82 DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
76 // The IO thread is going away, so make sure the ClientSideDetectionService 83 // The IO thread is going away, so make sure the ClientSideDetectionService
77 // dtor executes now since it may call the dtor of URLFetcher which relies 84 // dtor executes now since it may call the dtor of URLFetcher which relies
78 // on it. 85 // on it.
79 csd_service_.reset(); 86 csd_service_.reset();
80 87
81 resource_request_detector_.reset(); 88 resource_request_detector_.reset();
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after
143 IncidentReportingService* 150 IncidentReportingService*
144 ServicesDelegateImpl::CreateIncidentReportingService() { 151 ServicesDelegateImpl::CreateIncidentReportingService() {
145 return new IncidentReportingService(safe_browsing_service_); 152 return new IncidentReportingService(safe_browsing_service_);
146 } 153 }
147 154
148 ResourceRequestDetector* ServicesDelegateImpl::CreateResourceRequestDetector() { 155 ResourceRequestDetector* ServicesDelegateImpl::CreateResourceRequestDetector() {
149 return new ResourceRequestDetector(safe_browsing_service_->database_manager(), 156 return new ResourceRequestDetector(safe_browsing_service_->database_manager(),
150 incident_service_->GetIncidentReceiver()); 157 incident_service_->GetIncidentReceiver());
151 } 158 }
152 159
160 void ServicesDelegateImpl::StartOnIOThread(
161 net::URLRequestContextGetter* url_request_context_getter,
162 const V4ProtocolConfig& v4_config) {
163 if (v4_local_database_manager_.get()) {
164 v4_local_database_manager_->StartOnIOThread(url_request_context_getter,
165 v4_config);
166 }
167 }
168
169 void ServicesDelegateImpl::StopOnIOThread(bool shutdown) {
170 if (v4_local_database_manager_.get()) {
171 v4_local_database_manager_->StopOnIOThread(shutdown);
172 }
173 }
174
175 V4LocalDatabaseManager* ServicesDelegateImpl::CreateV4LocalDatabaseManager() {
176 return new V4LocalDatabaseManager();
177 }
178
179 bool ServicesDelegateImpl::IsV4LocalDatabaseManagerEnabled() {
180 const std::string group_name = base::FieldTrialList::FindFullName(
rkaplow 2016/05/02 16:27:35 if this is a new field trial we suggest using the
vakh (use Gerrit instead) 2016/05/02 22:04:34 Done.
181 "SafeBrowsingV4LocalDatabaseManagerEnabled");
182 return StartsWith(group_name, "Enabled", base::CompareCase::SENSITIVE);
183 }
184
153 } // namespace safe_browsing 185 } // namespace safe_browsing
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698