OLD | NEW |
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/safe_browsing_service.h" | 5 #include "chrome/browser/safe_browsing/safe_browsing_service.h" |
6 | 6 |
7 #include <vector> | 7 #include <vector> |
8 | 8 |
9 #include "base/bind.h" | 9 #include "base/bind.h" |
10 #include "base/bind_helpers.h" | 10 #include "base/bind_helpers.h" |
(...skipping 206 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
217 | 217 |
218 database_manager_ = CreateDatabaseManager(); | 218 database_manager_ = CreateDatabaseManager(); |
219 | 219 |
220 BrowserThread::PostTask( | 220 BrowserThread::PostTask( |
221 BrowserThread::IO, FROM_HERE, | 221 BrowserThread::IO, FROM_HERE, |
222 base::Bind( | 222 base::Bind( |
223 &SafeBrowsingService::InitURLRequestContextOnIOThread, this, | 223 &SafeBrowsingService::InitURLRequestContextOnIOThread, this, |
224 make_scoped_refptr(g_browser_process->system_request_context()))); | 224 make_scoped_refptr(g_browser_process->system_request_context()))); |
225 | 225 |
226 #if defined(FULL_SAFE_BROWSING) | 226 #if defined(FULL_SAFE_BROWSING) |
227 #if !defined(OS_ANDROID) | 227 #if defined(SAFE_BROWSING_CSD) |
228 if (!CommandLine::ForCurrentProcess()->HasSwitch( | 228 if (!CommandLine::ForCurrentProcess()->HasSwitch( |
229 switches::kDisableClientSidePhishingDetection)) { | 229 switches::kDisableClientSidePhishingDetection)) { |
230 csd_service_.reset(safe_browsing::ClientSideDetectionService::Create( | 230 csd_service_.reset(safe_browsing::ClientSideDetectionService::Create( |
231 url_request_context_getter_.get())); | 231 url_request_context_getter_.get())); |
232 } | 232 } |
| 233 #endif |
| 234 |
| 235 // TODO(shess): Adding SAFE_BROWSING_SERVICE_DOWNLOAD to control this might |
| 236 // allow removing FULL_SAFE_BROWSING above. |
| 237 #if !defined(OS_ANDROID) |
233 download_service_.reset(new safe_browsing::DownloadProtectionService( | 238 download_service_.reset(new safe_browsing::DownloadProtectionService( |
234 this, url_request_context_getter_.get())); | 239 this, url_request_context_getter_.get())); |
235 #endif | 240 #endif |
236 | 241 |
237 if (IsIncidentReportingServiceEnabled()) { | 242 if (IsIncidentReportingServiceEnabled()) { |
238 incident_service_.reset(new safe_browsing::IncidentReportingService( | 243 incident_service_.reset(new safe_browsing::IncidentReportingService( |
239 this, url_request_context_getter_)); | 244 this, url_request_context_getter_)); |
240 } | 245 } |
241 #endif | 246 #endif |
242 | 247 |
(...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
330 return incident_service_->CreatePreferenceValidationDelegate(profile); | 335 return incident_service_->CreatePreferenceValidationDelegate(profile); |
331 #endif | 336 #endif |
332 return scoped_ptr<TrackedPreferenceValidationDelegate>(); | 337 return scoped_ptr<TrackedPreferenceValidationDelegate>(); |
333 } | 338 } |
334 | 339 |
335 SafeBrowsingUIManager* SafeBrowsingService::CreateUIManager() { | 340 SafeBrowsingUIManager* SafeBrowsingService::CreateUIManager() { |
336 return new SafeBrowsingUIManager(this); | 341 return new SafeBrowsingUIManager(this); |
337 } | 342 } |
338 | 343 |
339 SafeBrowsingDatabaseManager* SafeBrowsingService::CreateDatabaseManager() { | 344 SafeBrowsingDatabaseManager* SafeBrowsingService::CreateDatabaseManager() { |
340 #if defined(FULL_SAFE_BROWSING) | 345 #if defined(SAFE_BROWSING_DATABASE) |
341 return new SafeBrowsingDatabaseManager(this); | 346 return new SafeBrowsingDatabaseManager(this); |
342 #else | 347 #else |
343 return NULL; | 348 return NULL; |
344 #endif | 349 #endif |
345 } | 350 } |
346 | 351 |
347 void SafeBrowsingService::InitURLRequestContextOnIOThread( | 352 void SafeBrowsingService::InitURLRequestContextOnIOThread( |
348 net::URLRequestContextGetter* system_url_request_context_getter) { | 353 net::URLRequestContextGetter* system_url_request_context_getter) { |
349 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); | 354 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); |
350 DCHECK(!url_request_context_.get()); | 355 DCHECK(!url_request_context_.get()); |
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
417 | 422 |
418 void SafeBrowsingService::StartOnIOThread( | 423 void SafeBrowsingService::StartOnIOThread( |
419 net::URLRequestContextGetter* url_request_context_getter) { | 424 net::URLRequestContextGetter* url_request_context_getter) { |
420 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); | 425 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); |
421 if (enabled_) | 426 if (enabled_) |
422 return; | 427 return; |
423 enabled_ = true; | 428 enabled_ = true; |
424 | 429 |
425 SafeBrowsingProtocolConfig config = GetProtocolConfig(); | 430 SafeBrowsingProtocolConfig config = GetProtocolConfig(); |
426 | 431 |
427 #if defined(FULL_SAFE_BROWSING) | 432 #if defined(SAFE_BROWSING_DATABASE) |
428 DCHECK(database_manager_.get()); | 433 DCHECK(database_manager_.get()); |
429 database_manager_->StartOnIOThread(); | 434 database_manager_->StartOnIOThread(); |
430 | 435 |
431 DCHECK(!protocol_manager_); | 436 DCHECK(!protocol_manager_); |
432 protocol_manager_ = SafeBrowsingProtocolManager::Create( | 437 protocol_manager_ = SafeBrowsingProtocolManager::Create( |
433 database_manager_.get(), url_request_context_getter, config); | 438 database_manager_.get(), url_request_context_getter, config); |
434 protocol_manager_->Initialize(); | 439 protocol_manager_->Initialize(); |
435 #endif | 440 #endif |
436 | 441 |
437 DCHECK(!ping_manager_); | 442 DCHECK(!ping_manager_); |
438 ping_manager_ = SafeBrowsingPingManager::Create( | 443 ping_manager_ = SafeBrowsingPingManager::Create( |
439 url_request_context_getter, config); | 444 url_request_context_getter, config); |
440 } | 445 } |
441 | 446 |
442 void SafeBrowsingService::StopOnIOThread(bool shutdown) { | 447 void SafeBrowsingService::StopOnIOThread(bool shutdown) { |
443 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); | 448 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); |
444 | 449 |
445 #if defined(FULL_SAFE_BROWSING) | 450 #if defined(SAFE_BROWSING_DATABASE) |
446 database_manager_->StopOnIOThread(shutdown); | 451 database_manager_->StopOnIOThread(shutdown); |
447 #endif | 452 #endif |
448 ui_manager_->StopOnIOThread(shutdown); | 453 ui_manager_->StopOnIOThread(shutdown); |
449 | 454 |
450 if (enabled_) { | 455 if (enabled_) { |
451 enabled_ = false; | 456 enabled_ = false; |
452 | 457 |
453 #if defined(FULL_SAFE_BROWSING) | 458 #if defined(SAFE_BROWSING_DATABASE) |
454 // This cancels all in-flight GetHash requests. Note that database_manager_ | 459 // This cancels all in-flight GetHash requests. Note that database_manager_ |
455 // relies on the protocol_manager_ so if the latter is destroyed, the | 460 // relies on the protocol_manager_ so if the latter is destroyed, the |
456 // former must be stopped. | 461 // former must be stopped. |
457 delete protocol_manager_; | 462 delete protocol_manager_; |
458 protocol_manager_ = NULL; | 463 protocol_manager_ = NULL; |
459 #endif | 464 #endif |
460 delete ping_manager_; | 465 delete ping_manager_; |
461 ping_manager_ = NULL; | 466 ping_manager_ = NULL; |
462 } | 467 } |
463 } | 468 } |
(...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
537 else | 542 else |
538 Stop(false); | 543 Stop(false); |
539 | 544 |
540 #if defined(FULL_SAFE_BROWSING) | 545 #if defined(FULL_SAFE_BROWSING) |
541 if (csd_service_) | 546 if (csd_service_) |
542 csd_service_->SetEnabledAndRefreshState(enable); | 547 csd_service_->SetEnabledAndRefreshState(enable); |
543 if (download_service_) | 548 if (download_service_) |
544 download_service_->SetEnabled(enable); | 549 download_service_->SetEnabled(enable); |
545 #endif | 550 #endif |
546 } | 551 } |
OLD | NEW |