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

Unified Diff: chrome/renderer/safe_browsing/phishing_classifier.cc

Issue 8573018: Convert to base::Callback in safe_browsing client-side-detection code. (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Don't call Run() on null callbacks. 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
Index: chrome/renderer/safe_browsing/phishing_classifier.cc
diff --git a/chrome/renderer/safe_browsing/phishing_classifier.cc b/chrome/renderer/safe_browsing/phishing_classifier.cc
index 886889a35a28e6041ec919eacffa47ed904a16c0..3cc51941e2218fad041ffde9f9d78b9816be1c02 100644
--- a/chrome/renderer/safe_browsing/phishing_classifier.cc
+++ b/chrome/renderer/safe_browsing/phishing_classifier.cc
@@ -77,8 +77,9 @@ bool PhishingClassifier::is_ready() const {
return scorer_ != NULL;
}
-void PhishingClassifier::BeginClassification(const string16* page_text,
- DoneCallback* done_callback) {
+void PhishingClassifier::BeginClassification(
+ const string16* page_text,
+ const DoneCallback& done_callback) {
DCHECK(is_ready());
// The RenderView should have called CancelPendingClassification() before
@@ -89,7 +90,7 @@ void PhishingClassifier::BeginClassification(const string16* page_text,
CancelPendingClassification();
page_text_ = page_text;
- done_callback_.reset(done_callback);
+ done_callback_ = done_callback;
// For consistency, we always want to invoke the DoneCallback
// asynchronously, rather than directly from this method. To ensure that
@@ -138,7 +139,8 @@ void PhishingClassifier::BeginFeatureExtraction() {
// in several chunks of work and invokes the callback when finished.
dom_extractor_->ExtractFeatures(
features_.get(),
- NewCallback(this, &PhishingClassifier::DOMExtractionFinished));
+ base::Bind(&PhishingClassifier::DOMExtractionFinished,
+ base::Unretained(this)));
}
void PhishingClassifier::CancelPendingClassification() {
@@ -158,7 +160,8 @@ void PhishingClassifier::DOMExtractionFinished(bool success) {
term_extractor_->ExtractFeatures(
page_text_,
features_.get(),
- NewCallback(this, &PhishingClassifier::TermExtractionFinished));
+ base::Bind(&PhishingClassifier::TermExtractionFinished,
+ base::Unretained(this)));
} else {
RunFailureCallback();
}
@@ -204,9 +207,9 @@ void PhishingClassifier::TermExtractionFinished(bool success) {
}
void PhishingClassifier::CheckNoPendingClassification() {
- DCHECK(!done_callback_.get());
+ DCHECK(done_callback_.is_null());
DCHECK(!page_text_);
- if (done_callback_.get() || page_text_) {
+ if (done_callback_.is_null() || page_text_) {
LOG(ERROR) << "Classification in progress, missing call to "
<< "CancelPendingClassification";
UMA_HISTOGRAM_COUNTS("SBClientPhishing.CheckNoPendingClassificationFailed",
@@ -215,7 +218,7 @@ void PhishingClassifier::CheckNoPendingClassification() {
}
void PhishingClassifier::RunCallback(const ClientPhishingRequest& verdict) {
- done_callback_->Run(verdict);
+ done_callback_.Run(verdict);
Clear();
}
@@ -231,7 +234,7 @@ void PhishingClassifier::RunFailureCallback() {
void PhishingClassifier::Clear() {
page_text_ = NULL;
- done_callback_.reset(NULL);
+ done_callback_.Reset();
features_.reset(NULL);
}
« no previous file with comments | « chrome/renderer/safe_browsing/phishing_classifier.h ('k') | chrome/renderer/safe_browsing/phishing_classifier_browsertest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698