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

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

Issue 6142009: Upating the app, ceee, chrome, ipc, media, and net directories to use the correct lock.h file. (Closed) Base URL: http://git.chromium.org/git/chromium.git@trunk
Patch Set: Unified patch updating all references to the new base/synchronization/lock.h Created 9 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 | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2010 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 "base/callback.h" 7 #include "base/callback.h"
8 #include "base/command_line.h" 8 #include "base/command_line.h"
9 #include "base/lazy_instance.h" 9 #include "base/lazy_instance.h"
10 #include "base/path_service.h" 10 #include "base/path_service.h"
(...skipping 559 matching lines...) Expand 10 before | Expand all | Expand 10 after
570 if ((*it)->client) 570 if ((*it)->client)
571 (*it)->client->OnSafeBrowsingResult((*it)->url, URL_SAFE); 571 (*it)->client->OnSafeBrowsingResult((*it)->url, URL_SAFE);
572 delete *it; 572 delete *it;
573 } 573 }
574 checks_.clear(); 574 checks_.clear();
575 575
576 gethash_requests_.clear(); 576 gethash_requests_.clear();
577 } 577 }
578 578
579 bool SafeBrowsingService::DatabaseAvailable() const { 579 bool SafeBrowsingService::DatabaseAvailable() const {
580 AutoLock lock(database_lock_); 580 base::AutoLock lock(database_lock_);
581 return !closing_database_ && (database_ != NULL); 581 return !closing_database_ && (database_ != NULL);
582 } 582 }
583 583
584 bool SafeBrowsingService::MakeDatabaseAvailable() { 584 bool SafeBrowsingService::MakeDatabaseAvailable() {
585 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); 585 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO));
586 DCHECK(enabled_); 586 DCHECK(enabled_);
587 if (DatabaseAvailable()) 587 if (DatabaseAvailable())
588 return true; 588 return true;
589 safe_browsing_thread_->message_loop()->PostTask(FROM_HERE, 589 safe_browsing_thread_->message_loop()->PostTask(FROM_HERE,
590 NewRunnableMethod(this, &SafeBrowsingService::GetDatabase)); 590 NewRunnableMethod(this, &SafeBrowsingService::GetDatabase));
(...skipping 12 matching lines...) Expand all
603 603
604 Time before = Time::Now(); 604 Time before = Time::Now();
605 605
606 SafeBrowsingDatabase* database = 606 SafeBrowsingDatabase* database =
607 SafeBrowsingDatabase::Create(enable_download_protection_); 607 SafeBrowsingDatabase::Create(enable_download_protection_);
608 608
609 database->Init(path); 609 database->Init(path);
610 { 610 {
611 // Acquiring the lock here guarantees correct ordering between the writes to 611 // Acquiring the lock here guarantees correct ordering between the writes to
612 // the new database object above, and the setting of |databse_| below. 612 // the new database object above, and the setting of |databse_| below.
613 AutoLock lock(database_lock_); 613 base::AutoLock lock(database_lock_);
614 database_ = database; 614 database_ = database;
615 } 615 }
616 616
617 BrowserThread::PostTask( 617 BrowserThread::PostTask(
618 BrowserThread::IO, FROM_HERE, 618 BrowserThread::IO, FROM_HERE,
619 NewRunnableMethod(this, &SafeBrowsingService::DatabaseLoadComplete)); 619 NewRunnableMethod(this, &SafeBrowsingService::DatabaseLoadComplete));
620 620
621 UMA_HISTOGRAM_TIMES("SB2.DatabaseOpen", Time::Now() - before); 621 UMA_HISTOGRAM_TIMES("SB2.DatabaseOpen", Time::Now() - before);
622 return database_; 622 return database_;
623 } 623 }
(...skipping 183 matching lines...) Expand 10 before | Expand all | Expand 10 after
807 807
808 // Because |closing_database_| is true, nothing on the IO thread will be 808 // Because |closing_database_| is true, nothing on the IO thread will be
809 // accessing the database, so it's safe to delete and then NULL the pointer. 809 // accessing the database, so it's safe to delete and then NULL the pointer.
810 delete database_; 810 delete database_;
811 database_ = NULL; 811 database_ = NULL;
812 812
813 // Acquiring the lock here guarantees correct ordering between the resetting 813 // Acquiring the lock here guarantees correct ordering between the resetting
814 // of |database_| above and of |closing_database_| below, which ensures there 814 // of |database_| above and of |closing_database_| below, which ensures there
815 // won't be a window during which the IO thread falsely believes the database 815 // won't be a window during which the IO thread falsely believes the database
816 // is available. 816 // is available.
817 AutoLock lock(database_lock_); 817 base::AutoLock lock(database_lock_);
818 closing_database_ = false; 818 closing_database_ = false;
819 } 819 }
820 820
821 void SafeBrowsingService::OnResetDatabase() { 821 void SafeBrowsingService::OnResetDatabase() {
822 DCHECK_EQ(MessageLoop::current(), safe_browsing_thread_->message_loop()); 822 DCHECK_EQ(MessageLoop::current(), safe_browsing_thread_->message_loop());
823 GetDatabase()->ResetDatabase(); 823 GetDatabase()->ResetDatabase();
824 } 824 }
825 825
826 void SafeBrowsingService::CacheHashResults( 826 void SafeBrowsingService::CacheHashResults(
827 const std::vector<SBPrefix>& prefixes, 827 const std::vector<SBPrefix>& prefixes,
(...skipping 137 matching lines...) Expand 10 before | Expand all | Expand 10 after
965 // checkbox on the blocking page. 965 // checkbox on the blocking page.
966 void SafeBrowsingService::ReportMalwareDetails( 966 void SafeBrowsingService::ReportMalwareDetails(
967 scoped_refptr<MalwareDetails> details) { 967 scoped_refptr<MalwareDetails> details) {
968 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); 968 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO));
969 scoped_ptr<const std::string> serialized(details->GetSerializedReport()); 969 scoped_ptr<const std::string> serialized(details->GetSerializedReport());
970 if (!serialized->empty()) { 970 if (!serialized->empty()) {
971 DVLOG(1) << "Sending serialized malware details."; 971 DVLOG(1) << "Sending serialized malware details.";
972 protocol_manager_->ReportMalwareDetails(*serialized); 972 protocol_manager_->ReportMalwareDetails(*serialized);
973 } 973 }
974 } 974 }
OLDNEW
« no previous file with comments | « chrome/browser/safe_browsing/safe_browsing_service.h ('k') | chrome/browser/speech/speech_input_manager.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698