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

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

Issue 1060033003: [chrome/browser/safe_browsing] favor DCHECK_CURRENTLY_ON for better logs (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fixed unit test break now Created 5 years, 8 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 (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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/client_side_detection_service.h" 5 #include "chrome/browser/safe_browsing/client_side_detection_service.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 8
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/command_line.h" 10 #include "base/command_line.h"
(...skipping 101 matching lines...) Expand 10 before | Expand all | Expand 10 after
112 client_phishing_reports_.end()); 112 client_phishing_reports_.end());
113 client_phishing_reports_.clear(); 113 client_phishing_reports_.clear();
114 STLDeleteContainerPairPointers(client_malware_reports_.begin(), 114 STLDeleteContainerPairPointers(client_malware_reports_.begin(),
115 client_malware_reports_.end()); 115 client_malware_reports_.end());
116 client_malware_reports_.clear(); 116 client_malware_reports_.clear();
117 } 117 }
118 118
119 // static 119 // static
120 ClientSideDetectionService* ClientSideDetectionService::Create( 120 ClientSideDetectionService* ClientSideDetectionService::Create(
121 net::URLRequestContextGetter* request_context_getter) { 121 net::URLRequestContextGetter* request_context_getter) {
122 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 122 DCHECK_CURRENTLY_ON(BrowserThread::UI);
123 return new ClientSideDetectionService(request_context_getter); 123 return new ClientSideDetectionService(request_context_getter);
124 } 124 }
125 125
126 void ClientSideDetectionService::SetEnabledAndRefreshState(bool enabled) { 126 void ClientSideDetectionService::SetEnabledAndRefreshState(bool enabled) {
127 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 127 DCHECK_CURRENTLY_ON(BrowserThread::UI);
128 SendModelToRenderers(); // always refresh the renderer state 128 SendModelToRenderers(); // always refresh the renderer state
129 if (enabled == enabled_) 129 if (enabled == enabled_)
130 return; 130 return;
131 enabled_ = enabled; 131 enabled_ = enabled;
132 if (enabled_) { 132 if (enabled_) {
133 // Refresh the model when the service is enabled. This can happen when the 133 // Refresh the model when the service is enabled. This can happen when the
134 // preference is toggled, or early during startup if the preference is 134 // preference is toggled, or early during startup if the preference is
135 // already enabled. In a lot of cases the model will be in the cache so it 135 // already enabled. In a lot of cases the model will be in the cache so it
136 // won't actually be fetched from the network. 136 // won't actually be fetched from the network.
137 // We delay the first model fetch to avoid slowing down browser startup. 137 // We delay the first model fetch to avoid slowing down browser startup.
(...skipping 22 matching lines...) Expand all
160 STLDeleteContainerPairPointers(client_malware_reports_.begin(), 160 STLDeleteContainerPairPointers(client_malware_reports_.begin(),
161 client_malware_reports_.end()); 161 client_malware_reports_.end());
162 client_malware_reports_.clear(); 162 client_malware_reports_.clear();
163 cache_.clear(); 163 cache_.clear();
164 } 164 }
165 } 165 }
166 166
167 void ClientSideDetectionService::SendClientReportPhishingRequest( 167 void ClientSideDetectionService::SendClientReportPhishingRequest(
168 ClientPhishingRequest* verdict, 168 ClientPhishingRequest* verdict,
169 const ClientReportPhishingRequestCallback& callback) { 169 const ClientReportPhishingRequestCallback& callback) {
170 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 170 DCHECK_CURRENTLY_ON(BrowserThread::UI);
171 base::MessageLoop::current()->PostTask( 171 base::MessageLoop::current()->PostTask(
172 FROM_HERE, 172 FROM_HERE,
173 base::Bind(&ClientSideDetectionService::StartClientReportPhishingRequest, 173 base::Bind(&ClientSideDetectionService::StartClientReportPhishingRequest,
174 weak_factory_.GetWeakPtr(), verdict, callback)); 174 weak_factory_.GetWeakPtr(), verdict, callback));
175 } 175 }
176 176
177 void ClientSideDetectionService::SendClientReportMalwareRequest( 177 void ClientSideDetectionService::SendClientReportMalwareRequest(
178 ClientMalwareRequest* verdict, 178 ClientMalwareRequest* verdict,
179 const ClientReportMalwareRequestCallback& callback) { 179 const ClientReportMalwareRequestCallback& callback) {
180 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 180 DCHECK_CURRENTLY_ON(BrowserThread::UI);
181 base::MessageLoop::current()->PostTask( 181 base::MessageLoop::current()->PostTask(
182 FROM_HERE, 182 FROM_HERE,
183 base::Bind(&ClientSideDetectionService::StartClientReportMalwareRequest, 183 base::Bind(&ClientSideDetectionService::StartClientReportMalwareRequest,
184 weak_factory_.GetWeakPtr(), verdict, callback)); 184 weak_factory_.GetWeakPtr(), verdict, callback));
185 } 185 }
186 186
187 bool ClientSideDetectionService::IsPrivateIPAddress( 187 bool ClientSideDetectionService::IsPrivateIPAddress(
188 const std::string& ip_address) const { 188 const std::string& ip_address) const {
189 net::IPAddressNumber ip_number; 189 net::IPAddressNumber ip_number;
190 if (!net::ParseIPLiteralToNumber(ip_address, &ip_number)) { 190 if (!net::ParseIPLiteralToNumber(ip_address, &ip_number)) {
(...skipping 25 matching lines...) Expand all
216 source->GetResponseCode(), source->GetCookies(), data); 216 source->GetResponseCode(), source->GetCookies(), data);
217 } else { 217 } else {
218 NOTREACHED(); 218 NOTREACHED();
219 } 219 }
220 } 220 }
221 221
222 void ClientSideDetectionService::Observe( 222 void ClientSideDetectionService::Observe(
223 int type, 223 int type,
224 const content::NotificationSource& source, 224 const content::NotificationSource& source,
225 const content::NotificationDetails& details) { 225 const content::NotificationDetails& details) {
226 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 226 DCHECK_CURRENTLY_ON(BrowserThread::UI);
227 DCHECK(type == content::NOTIFICATION_RENDERER_PROCESS_CREATED); 227 DCHECK(type == content::NOTIFICATION_RENDERER_PROCESS_CREATED);
228 if (!model_.get()) { 228 if (!model_.get()) {
229 // Model might not be ready or maybe there was an error. 229 // Model might not be ready or maybe there was an error.
230 return; 230 return;
231 } 231 }
232 SendModelToProcess( 232 SendModelToProcess(
233 content::Source<content::RenderProcessHost>(source).ptr()); 233 content::Source<content::RenderProcessHost>(source).ptr());
234 } 234 }
235 235
236 void ClientSideDetectionService::SendModelToProcess( 236 void ClientSideDetectionService::SendModelToProcess(
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after
301 } 301 }
302 model_max_age_.reset(); 302 model_max_age_.reset();
303 303
304 // Schedule the next model reload. 304 // Schedule the next model reload.
305 ScheduleFetchModel(delay_ms); 305 ScheduleFetchModel(delay_ms);
306 } 306 }
307 307
308 void ClientSideDetectionService::StartClientReportPhishingRequest( 308 void ClientSideDetectionService::StartClientReportPhishingRequest(
309 ClientPhishingRequest* verdict, 309 ClientPhishingRequest* verdict,
310 const ClientReportPhishingRequestCallback& callback) { 310 const ClientReportPhishingRequestCallback& callback) {
311 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 311 DCHECK_CURRENTLY_ON(BrowserThread::UI);
312 scoped_ptr<ClientPhishingRequest> request(verdict); 312 scoped_ptr<ClientPhishingRequest> request(verdict);
313 313
314 if (!enabled_) { 314 if (!enabled_) {
315 if (!callback.is_null()) 315 if (!callback.is_null())
316 callback.Run(GURL(request->url()), false); 316 callback.Run(GURL(request->url()), false);
317 return; 317 return;
318 } 318 }
319 319
320 std::string request_data; 320 std::string request_data;
321 if (!request->SerializeToString(&request_data)) { 321 if (!request->SerializeToString(&request_data)) {
(...skipping 20 matching lines...) Expand all
342 fetcher->SetUploadData("application/octet-stream", request_data); 342 fetcher->SetUploadData("application/octet-stream", request_data);
343 fetcher->Start(); 343 fetcher->Start();
344 344
345 // Record that we made a request 345 // Record that we made a request
346 phishing_report_times_.push(base::Time::Now()); 346 phishing_report_times_.push(base::Time::Now());
347 } 347 }
348 348
349 void ClientSideDetectionService::StartClientReportMalwareRequest( 349 void ClientSideDetectionService::StartClientReportMalwareRequest(
350 ClientMalwareRequest* verdict, 350 ClientMalwareRequest* verdict,
351 const ClientReportMalwareRequestCallback& callback) { 351 const ClientReportMalwareRequestCallback& callback) {
352 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 352 DCHECK_CURRENTLY_ON(BrowserThread::UI);
353 scoped_ptr<ClientMalwareRequest> request(verdict); 353 scoped_ptr<ClientMalwareRequest> request(verdict);
354 354
355 if (!enabled_) { 355 if (!enabled_) {
356 if (!callback.is_null()) 356 if (!callback.is_null())
357 callback.Run(GURL(request->url()), GURL(request->url()), false); 357 callback.Run(GURL(request->url()), GURL(request->url()), false);
358 return; 358 return;
359 } 359 }
360 360
361 std::string request_data; 361 std::string request_data;
362 if (!request->SerializeToString(&request_data)) { 362 if (!request->SerializeToString(&request_data)) {
(...skipping 272 matching lines...) Expand 10 before | Expand all | Expand 10 after
635 GURL ClientSideDetectionService::GetClientReportUrl( 635 GURL ClientSideDetectionService::GetClientReportUrl(
636 const std::string& report_url) { 636 const std::string& report_url) {
637 GURL url(report_url); 637 GURL url(report_url);
638 std::string api_key = google_apis::GetAPIKey(); 638 std::string api_key = google_apis::GetAPIKey();
639 if (!api_key.empty()) 639 if (!api_key.empty())
640 url = url.Resolve("?key=" + net::EscapeQueryParamValue(api_key, true)); 640 url = url.Resolve("?key=" + net::EscapeQueryParamValue(api_key, true));
641 641
642 return url; 642 return url;
643 } 643 }
644 } // namespace safe_browsing 644 } // namespace safe_browsing
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698