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

Unified Diff: chrome/browser/safe_browsing/safe_browsing_service.cc

Issue 8548003: Some easy NewRunnableMethod conversions in safe_browsing. (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Convert to WeakPtrFactory. Created 9 years, 1 month 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/browser/safe_browsing/safe_browsing_service.h ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/safe_browsing/safe_browsing_service.cc
diff --git a/chrome/browser/safe_browsing/safe_browsing_service.cc b/chrome/browser/safe_browsing/safe_browsing_service.cc
index 2222296551531161b8d57d40d1ccc9cca94d5fbd..8f97f4ec857b5ce7a75af065058688227ef61720 100644
--- a/chrome/browser/safe_browsing/safe_browsing_service.cc
+++ b/chrome/browser/safe_browsing/safe_browsing_service.cc
@@ -4,6 +4,8 @@
#include "chrome/browser/safe_browsing/safe_browsing_service.h"
+#include "base/bind.h"
+#include "base/bind_helpers.h"
#include "base/callback.h"
#include "base/command_line.h"
#include "base/lazy_instance.h"
@@ -126,7 +128,7 @@ SafeBrowsingService::SafeBrowsingCheck::SafeBrowsingCheck()
need_get_hash(false),
result(SAFE),
is_download(false),
- timeout_task(NULL) {
+ timeout_factory_(NULL) {
}
SafeBrowsingService::SafeBrowsingCheck::~SafeBrowsingCheck() {}
@@ -254,9 +256,7 @@ bool SafeBrowsingService::CheckDownloadUrl(const std::vector<GURL>& url_chain,
StartDownloadCheck(
check,
client,
- NewRunnableMethod(this,
- &SafeBrowsingService::CheckDownloadUrlOnSBThread,
- check),
+ base::Bind(&SafeBrowsingService::CheckDownloadUrlOnSBThread, this, check),
download_urlcheck_timeout_ms_);
return false;
}
@@ -276,9 +276,7 @@ bool SafeBrowsingService::CheckDownloadHash(const std::string& full_hash,
StartDownloadCheck(
check,
client,
- NewRunnableMethod(this,
- &SafeBrowsingService::CheckDownloadHashOnSBThread,
- check),
+ base::Bind(&SafeBrowsingService::CheckDownloadHashOnSBThread,this, check),
download_hashcheck_timeout_ms_);
return false;
}
@@ -349,7 +347,7 @@ bool SafeBrowsingService::CheckBrowseUrl(const GURL& url,
BrowserThread::PostTask(
BrowserThread::IO, FROM_HERE,
- NewRunnableMethod(this, &SafeBrowsingService::OnCheckDone, check));
+ base::Bind(&SafeBrowsingService::OnCheckDone, this, check));
return false;
}
@@ -400,8 +398,7 @@ void SafeBrowsingService::DisplayBlockingPage(
// The blocking page must be created from the UI thread.
BrowserThread::PostTask(
BrowserThread::UI, FROM_HERE,
- NewRunnableMethod(
- this, &SafeBrowsingService::DoDisplayBlockingPage, resource));
+ base::Bind(&SafeBrowsingService::DoDisplayBlockingPage, this, resource));
}
void SafeBrowsingService::HandleGetHashResults(
@@ -435,16 +432,16 @@ void SafeBrowsingService::HandleChunk(const std::string& list,
SBChunkList* chunks) {
DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO));
DCHECK(enabled_);
- safe_browsing_thread_->message_loop()->PostTask(FROM_HERE, NewRunnableMethod(
- this, &SafeBrowsingService::HandleChunkForDatabase, list, chunks));
+ safe_browsing_thread_->message_loop()->PostTask(FROM_HERE, base::Bind(
+ &SafeBrowsingService::HandleChunkForDatabase, this, list, chunks));
}
void SafeBrowsingService::HandleChunkDelete(
std::vector<SBChunkDelete>* chunk_deletes) {
DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO));
DCHECK(enabled_);
- safe_browsing_thread_->message_loop()->PostTask(FROM_HERE, NewRunnableMethod(
- this, &SafeBrowsingService::DeleteChunks, chunk_deletes));
+ safe_browsing_thread_->message_loop()->PostTask(FROM_HERE, base::Bind(
+ &SafeBrowsingService::DeleteChunks, this, chunk_deletes));
}
void SafeBrowsingService::UpdateStarted() {
@@ -452,8 +449,8 @@ void SafeBrowsingService::UpdateStarted() {
DCHECK(enabled_);
DCHECK(!update_in_progress_);
update_in_progress_ = true;
- safe_browsing_thread_->message_loop()->PostTask(FROM_HERE, NewRunnableMethod(
- this, &SafeBrowsingService::GetAllChunksFromDatabase));
+ safe_browsing_thread_->message_loop()->PostTask(FROM_HERE, base::Bind(
+ &SafeBrowsingService::GetAllChunksFromDatabase, this));
}
void SafeBrowsingService::UpdateFinished(bool update_succeeded) {
@@ -462,9 +459,8 @@ void SafeBrowsingService::UpdateFinished(bool update_succeeded) {
if (update_in_progress_) {
update_in_progress_ = false;
safe_browsing_thread_->message_loop()->PostTask(FROM_HERE,
- NewRunnableMethod(this,
- &SafeBrowsingService::DatabaseUpdateFinished,
- update_succeeded));
+ base::Bind(&SafeBrowsingService::DatabaseUpdateFinished,
+ this, update_succeeded));
}
}
@@ -485,9 +481,7 @@ void SafeBrowsingService::OnBlockingPageDone(
BrowserThread::PostTask(
BrowserThread::UI,
FROM_HERE,
- NewRunnableMethod(this,
- &SafeBrowsingService::UpdateWhitelist,
- resource));
+ base::Bind(&SafeBrowsingService::UpdateWhitelist, this, resource));
}
}
}
@@ -510,8 +504,8 @@ void SafeBrowsingService::RegisterPrefs(PrefService* prefs) {
void SafeBrowsingService::ResetDatabase() {
DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO));
DCHECK(enabled_);
- safe_browsing_thread_->message_loop()->PostTask(FROM_HERE, NewRunnableMethod(
- this, &SafeBrowsingService::OnResetDatabase));
+ safe_browsing_thread_->message_loop()->PostTask(FROM_HERE, base::Bind(
+ &SafeBrowsingService::OnResetDatabase, this));
}
void SafeBrowsingService::LogPauseDelay(base::TimeDelta time) {
@@ -632,8 +626,6 @@ void SafeBrowsingService::OnIOShutdown() {
check->result = SAFE;
check->client->OnSafeBrowsingResult(*check);
}
- if (check->timeout_task)
- check->timeout_task->Cancel();
}
STLDeleteElements(&checks_);
@@ -651,7 +643,8 @@ bool SafeBrowsingService::MakeDatabaseAvailable() {
if (DatabaseAvailable())
return true;
safe_browsing_thread_->message_loop()->PostTask(FROM_HERE,
- NewRunnableMethod(this, &SafeBrowsingService::GetDatabase));
+ base::IgnoreReturn<SafeBrowsingDatabase*>(
+ base::Bind(&SafeBrowsingService::GetDatabase, this)));
return false;
}
@@ -682,7 +675,7 @@ void SafeBrowsingService::CloseDatabase() {
closing_database_ = true;
if (safe_browsing_thread_.get()) {
safe_browsing_thread_->message_loop()->PostTask(FROM_HERE,
- NewRunnableMethod(this, &SafeBrowsingService::OnCloseDatabase));
+ base::Bind(&SafeBrowsingService::OnCloseDatabase, this));
}
}
@@ -713,7 +706,7 @@ SafeBrowsingDatabase* SafeBrowsingService::GetDatabase() {
BrowserThread::PostTask(
BrowserThread::IO, FROM_HERE,
- NewRunnableMethod(this, &SafeBrowsingService::DatabaseLoadComplete));
+ base::Bind(&SafeBrowsingService::DatabaseLoadComplete, this));
UMA_HISTOGRAM_TIMES("SB2.DatabaseOpen", base::TimeTicks::Now() - before);
return database_;
@@ -779,9 +772,8 @@ void SafeBrowsingService::GetAllChunksFromDatabase() {
BrowserThread::PostTask(
BrowserThread::IO, FROM_HERE,
- NewRunnableMethod(
- this, &SafeBrowsingService::OnGetAllChunksFromDatabase, lists,
- database_error));
+ base::Bind(&SafeBrowsingService::OnGetAllChunksFromDatabase,
+ this, lists, database_error));
}
void SafeBrowsingService::OnGetAllChunksFromDatabase(
@@ -836,7 +828,7 @@ void SafeBrowsingService::HandleChunkForDatabase(
}
BrowserThread::PostTask(
BrowserThread::IO, FROM_HERE,
- NewRunnableMethod(this, &SafeBrowsingService::OnChunkInserted));
+ base::Bind(&SafeBrowsingService::OnChunkInserted, this));
}
void SafeBrowsingService::DeleteChunks(
@@ -923,15 +915,14 @@ void SafeBrowsingService::Start() {
BrowserThread::PostTask(
BrowserThread::IO, FROM_HERE,
- NewRunnableMethod(
- this, &SafeBrowsingService::OnIOInitialize, client_key, wrapped_key,
- request_context_getter));
+ base::Bind(&SafeBrowsingService::OnIOInitialize,
+ this, client_key, wrapped_key, request_context_getter));
}
void SafeBrowsingService::Stop() {
BrowserThread::PostTask(
BrowserThread::IO, FROM_HERE,
- NewRunnableMethod(this, &SafeBrowsingService::OnIOShutdown));
+ base::Bind(&SafeBrowsingService::OnIOShutdown, this));
}
void SafeBrowsingService::OnCloseDatabase() {
@@ -1025,9 +1016,8 @@ void SafeBrowsingService::DoDisplayBlockingPage(
if (IsWhitelisted(resource)) {
BrowserThread::PostTask(
BrowserThread::IO, FROM_HERE,
- NewRunnableMethod(this,
- &SafeBrowsingService::NotifyClientBlockingComplete,
- resource.client, true));
+ base::Bind(&SafeBrowsingService::NotifyClientBlockingComplete,
+ this, resource.client, true));
return;
}
@@ -1043,8 +1033,8 @@ void SafeBrowsingService::DoDisplayBlockingPage(
resources.push_back(resource);
BrowserThread::PostTask(
BrowserThread::IO, FROM_HERE,
- NewRunnableMethod(
- this, &SafeBrowsingService::OnBlockingPageDone, resources, false));
+ base::Bind(&SafeBrowsingService::OnBlockingPageDone,
+ this, resources, false));
return;
}
@@ -1154,9 +1144,7 @@ void SafeBrowsingService::CheckDownloadHashOnSBThread(
check->result = SAFE;
BrowserThread::PostTask(
BrowserThread::IO, FROM_HERE,
- NewRunnableMethod(this,
- &SafeBrowsingService::CheckDownloadHashDone,
- check));
+ base::Bind(&SafeBrowsingService::CheckDownloadHashDone, this, check));
return;
}
@@ -1164,7 +1152,7 @@ void SafeBrowsingService::CheckDownloadHashOnSBThread(
check->prefix_hits.push_back(check->full_hash->prefix);
BrowserThread::PostTask(
BrowserThread::IO, FROM_HERE,
- NewRunnableMethod(this, &SafeBrowsingService::OnCheckDone, check));
+ base::Bind(&SafeBrowsingService::OnCheckDone, this, check));
}
void SafeBrowsingService::CheckDownloadUrlOnSBThread(SafeBrowsingCheck* check) {
@@ -1178,9 +1166,7 @@ void SafeBrowsingService::CheckDownloadUrlOnSBThread(SafeBrowsingCheck* check) {
check->result = SAFE;
BrowserThread::PostTask(
BrowserThread::IO, FROM_HERE,
- NewRunnableMethod(this,
- &SafeBrowsingService::CheckDownloadUrlDone,
- check));
+ base::Bind(&SafeBrowsingService::CheckDownloadUrlDone, this, check));
return;
}
@@ -1189,7 +1175,7 @@ void SafeBrowsingService::CheckDownloadUrlOnSBThread(SafeBrowsingCheck* check) {
check->prefix_hits = prefix_hits;
BrowserThread::PostTask(
BrowserThread::IO, FROM_HERE,
- NewRunnableMethod(this, &SafeBrowsingService::OnCheckDone, check));
+ base::Bind(&SafeBrowsingService::OnCheckDone, this, check));
}
void SafeBrowsingService::TimeoutCallback(SafeBrowsingCheck* check) {
@@ -1205,7 +1191,6 @@ void SafeBrowsingService::TimeoutCallback(SafeBrowsingCheck* check) {
check->client->OnSafeBrowsingResult(*check);
check->client = NULL;
}
- check->timeout_task = NULL;
}
void SafeBrowsingService::CheckDownloadUrlDone(SafeBrowsingCheck* check) {
@@ -1229,28 +1214,28 @@ void SafeBrowsingService::SafeBrowsingCheckDone(SafeBrowsingCheck* check) {
DCHECK(checks_.find(check) != checks_.end());
if (check->client)
check->client->OnSafeBrowsingResult(*check);
- if (check->timeout_task)
- check->timeout_task->Cancel();
checks_.erase(check);
delete check;
}
void SafeBrowsingService::StartDownloadCheck(SafeBrowsingCheck* check,
Client* client,
- CancelableTask* task,
+ const base::Closure& task,
int64 timeout_ms) {
DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO));
check->client = client;
check->result = SAFE;
check->is_download = true;
- check->timeout_task =
- NewRunnableMethod(this, &SafeBrowsingService::TimeoutCallback, check);
+ check->timeout_factory_.reset(
+ new base::WeakPtrFactory<SafeBrowsingService>(this));
checks_.insert(check);
safe_browsing_thread_->message_loop()->PostTask(FROM_HERE, task);
- MessageLoop::current()->PostDelayedTask(
- FROM_HERE, check->timeout_task, timeout_ms);
+ MessageLoop::current()->PostDelayedTask(FROM_HERE,
+ base::Bind(&SafeBrowsingService::TimeoutCallback,
+ check->timeout_factory_->GetWeakPtr(), check),
+ timeout_ms);
}
void SafeBrowsingService::UpdateWhitelist(const UnsafeResource& resource) {
« no previous file with comments | « chrome/browser/safe_browsing/safe_browsing_service.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698