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

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

Issue 2605213002: componentize SafeBrowsingService (Closed)
Patch Set: Marking method as overriding Created 3 years, 11 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/safe_browsing_service.h" 5 #include "chrome/browser/safe_browsing/safe_browsing_service.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 8
9 #include <vector> 9 #include <vector>
10 10
(...skipping 267 matching lines...) Expand 10 before | Expand all | Expand 10 after
278 278
279 279
280 // static 280 // static
281 SafeBrowsingService* SafeBrowsingService::CreateSafeBrowsingService() { 281 SafeBrowsingService* SafeBrowsingService::CreateSafeBrowsingService() {
282 if (!factory_) 282 if (!factory_)
283 factory_ = g_safe_browsing_service_factory_impl.Pointer(); 283 factory_ = g_safe_browsing_service_factory_impl.Pointer();
284 return factory_->CreateSafeBrowsingService(); 284 return factory_->CreateSafeBrowsingService();
285 } 285 }
286 286
287 SafeBrowsingService::SafeBrowsingService() 287 SafeBrowsingService::SafeBrowsingService()
288 : services_delegate_(ServicesDelegate::Create(this)), 288 : services_delegate_(ServicesDelegate::Create(this)) {}
289 enabled_(false),
290 enabled_by_prefs_(false),
291 enabled_v4_only_(safe_browsing::V4FeatureList::IsV4OnlyEnabled()) {}
292 289
293 SafeBrowsingService::~SafeBrowsingService() { 290 SafeBrowsingService::~SafeBrowsingService() {
294 // We should have already been shut down. If we're still enabled, then the 291 // We should have already been shut down. If we're still enabled, then the
295 // database isn't going to be closed properly, which could lead to corruption. 292 // database isn't going to be closed properly, which could lead to corruption.
296 DCHECK(!enabled_); 293 DCHECK(!enabled_);
297 } 294 }
298 295
299 void SafeBrowsingService::Initialize() { 296 void SafeBrowsingService::Initialize() {
300 // Ensure FileTypePolicies's Singleton is instantiated during startup. 297 // Ensure FileTypePolicies's Singleton is instantiated during startup.
301 // This guarantees we'll log UMA metrics about its state. 298 // This guarantees we'll log UMA metrics about its state.
(...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after
386 return false; 383 return false;
387 #endif 384 #endif
388 } 385 }
389 386
390 scoped_refptr<net::URLRequestContextGetter> 387 scoped_refptr<net::URLRequestContextGetter>
391 SafeBrowsingService::url_request_context() { 388 SafeBrowsingService::url_request_context() {
392 DCHECK_CURRENTLY_ON(BrowserThread::UI); 389 DCHECK_CURRENTLY_ON(BrowserThread::UI);
393 return url_request_context_getter_; 390 return url_request_context_getter_;
394 } 391 }
395 392
393 // TODO(ntfschr): componentize this once BaseSafeBrowsingUIManager contains a
394 // SafeBrowsingService
396 const scoped_refptr<SafeBrowsingUIManager>& 395 const scoped_refptr<SafeBrowsingUIManager>&
397 SafeBrowsingService::ui_manager() const { 396 SafeBrowsingService::ui_manager() const {
398 return ui_manager_; 397 return ui_manager_;
399 } 398 }
400 399
401 const scoped_refptr<SafeBrowsingDatabaseManager>& 400 const scoped_refptr<SafeBrowsingDatabaseManager>&
402 SafeBrowsingService::database_manager() const { 401 SafeBrowsingService::database_manager() const {
403 return enabled_v4_only_ ? v4_local_database_manager() : database_manager_; 402 return enabled_v4_only_ ? v4_local_database_manager() : database_manager_;
404 } 403 }
405 404
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
456 TRACE_EVENT1("loader", "SafeBrowsingService::OnResourceRequest", "url", 455 TRACE_EVENT1("loader", "SafeBrowsingService::OnResourceRequest", "url",
457 request->url().spec()); 456 request->url().spec());
458 457
459 ResourceRequestInfo info = ResourceRequestDetector::GetRequestInfo(request); 458 ResourceRequestInfo info = ResourceRequestDetector::GetRequestInfo(request);
460 BrowserThread::PostTask( 459 BrowserThread::PostTask(
461 BrowserThread::UI, FROM_HERE, 460 BrowserThread::UI, FROM_HERE,
462 base::Bind(&SafeBrowsingService::ProcessResourceRequest, this, info)); 461 base::Bind(&SafeBrowsingService::ProcessResourceRequest, this, info));
463 #endif 462 #endif
464 } 463 }
465 464
465 // TODO(ntfschr): componentize this once BaseSafeBrowsingUIManager contains a
466 // SafeBrowsingService
466 SafeBrowsingUIManager* SafeBrowsingService::CreateUIManager() { 467 SafeBrowsingUIManager* SafeBrowsingService::CreateUIManager() {
467 return new SafeBrowsingUIManager(this); 468 return new SafeBrowsingUIManager(this);
468 } 469 }
469 470
470 SafeBrowsingDatabaseManager* SafeBrowsingService::CreateDatabaseManager() { 471 SafeBrowsingDatabaseManager* SafeBrowsingService::CreateDatabaseManager() {
471 #if defined(SAFE_BROWSING_DB_LOCAL) 472 #if defined(SAFE_BROWSING_DB_LOCAL)
472 return new LocalSafeBrowsingDatabaseManager(this); 473 return new LocalSafeBrowsingDatabaseManager(this);
473 #elif defined(SAFE_BROWSING_DB_REMOTE) 474 #elif defined(SAFE_BROWSING_DB_REMOTE)
474 return new RemoteSafeBrowsingDatabaseManager(); 475 return new RemoteSafeBrowsingDatabaseManager();
475 #else 476 #else
(...skipping 28 matching lines...) Expand all
504 505
505 V4ProtocolConfig 506 V4ProtocolConfig
506 SafeBrowsingService::GetV4ProtocolConfig() const { 507 SafeBrowsingService::GetV4ProtocolConfig() const {
507 base::CommandLine* cmdline = base::CommandLine::ForCurrentProcess(); 508 base::CommandLine* cmdline = base::CommandLine::ForCurrentProcess();
508 return V4ProtocolConfig( 509 return V4ProtocolConfig(
509 GetProtocolConfigClientName(), 510 GetProtocolConfigClientName(),
510 cmdline->HasSwitch(::switches::kDisableBackgroundNetworking), 511 cmdline->HasSwitch(::switches::kDisableBackgroundNetworking),
511 google_apis::GetAPIKey(), SafeBrowsingProtocolManagerHelper::Version()); 512 google_apis::GetAPIKey(), SafeBrowsingProtocolManagerHelper::Version());
512 } 513 }
513 514
514 std::string SafeBrowsingService::GetProtocolConfigClientName() const {
515 std::string client_name;
516 // On Windows, get the safe browsing client name from the browser
517 // distribution classes in installer util. These classes don't yet have
518 // an analog on non-Windows builds so just keep the name specified here.
519 #if defined(OS_WIN)
520 BrowserDistribution* dist = BrowserDistribution::GetDistribution();
521 client_name = dist->GetSafeBrowsingName();
522 #else
523 #if defined(GOOGLE_CHROME_BUILD)
524 client_name = "googlechrome";
525 #else
526 client_name = "chromium";
527 #endif
528
529 // Mark client string to allow server to differentiate mobile.
530 #if defined(OS_ANDROID)
531 client_name.append("-a");
532 #endif
533
534 #endif // defined(OS_WIN)
535
536 return client_name;
537 }
538
539 // Any tests that create a DatabaseManager that isn't derived from 515 // Any tests that create a DatabaseManager that isn't derived from
540 // LocalSafeBrowsingDatabaseManager should override this to return NULL. 516 // LocalSafeBrowsingDatabaseManager should override this to return NULL.
541 SafeBrowsingProtocolManagerDelegate* 517 SafeBrowsingProtocolManagerDelegate*
542 SafeBrowsingService::GetProtocolManagerDelegate() { 518 SafeBrowsingService::GetProtocolManagerDelegate() {
543 #if defined(SAFE_BROWSING_DB_LOCAL) 519 #if defined(SAFE_BROWSING_DB_LOCAL)
544 DCHECK(!enabled_v4_only_); 520 DCHECK(!enabled_v4_only_);
545 return static_cast<LocalSafeBrowsingDatabaseManager*>( 521 return static_cast<LocalSafeBrowsingDatabaseManager*>(
546 database_manager_.get()); 522 database_manager_.get());
547 #else 523 #else
548 NOTREACHED(); 524 NOTREACHED();
(...skipping 191 matching lines...) Expand 10 before | Expand all | Expand 10 after
740 ping_manager()->ReportThreatDetails(report); 716 ping_manager()->ReportThreatDetails(report);
741 } 717 }
742 718
743 void SafeBrowsingService::ProcessResourceRequest( 719 void SafeBrowsingService::ProcessResourceRequest(
744 const ResourceRequestInfo& request) { 720 const ResourceRequestInfo& request) {
745 DCHECK_CURRENTLY_ON(BrowserThread::UI); 721 DCHECK_CURRENTLY_ON(BrowserThread::UI);
746 services_delegate_->ProcessResourceRequest(&request); 722 services_delegate_->ProcessResourceRequest(&request);
747 } 723 }
748 724
749 } // namespace safe_browsing 725 } // namespace safe_browsing
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698