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

Unified Diff: chrome/browser/safe_browsing/client_side_detection_service.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/browser/safe_browsing/client_side_detection_service.cc
diff --git a/chrome/browser/safe_browsing/client_side_detection_service.cc b/chrome/browser/safe_browsing/client_side_detection_service.cc
index ab946633779a61df499e2a20bb90b544037fc1f2..341395b321944e92ba77dfbb593db119f1a7609c 100644
--- a/chrome/browser/safe_browsing/client_side_detection_service.cc
+++ b/chrome/browser/safe_browsing/client_side_detection_service.cc
@@ -60,7 +60,7 @@ const char ClientSideDetectionService::kClientModelUrl[] =
"https://ssl.gstatic.com/safebrowsing/csd/client_model_v4.pb";
struct ClientSideDetectionService::ClientReportInfo {
- scoped_ptr<ClientReportPhishingRequestCallback> callback;
+ ClientReportPhishingRequestCallback callback;
GURL phishing_url;
};
@@ -118,8 +118,8 @@ void ClientSideDetectionService::SetEnabledAndRefreshState(bool enabled) {
client_phishing_reports_.begin();
it != client_phishing_reports_.end(); ++it) {
ClientReportInfo* info = it->second;
- if (info->callback.get())
- info->callback->Run(info->phishing_url, false);
+ if (!info->callback.is_null())
+ info->callback.Run(info->phishing_url, false);
}
STLDeleteContainerPairPointers(client_phishing_reports_.begin(),
client_phishing_reports_.end());
@@ -130,7 +130,7 @@ void ClientSideDetectionService::SetEnabledAndRefreshState(bool enabled) {
void ClientSideDetectionService::SendClientReportPhishingRequest(
ClientPhishingRequest* verdict,
- ClientReportPhishingRequestCallback* callback) {
+ const ClientReportPhishingRequestCallback& callback) {
DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
MessageLoop::current()->PostTask(
FROM_HERE,
@@ -289,14 +289,13 @@ void ClientSideDetectionService::EndFetchModel(ClientModelStatus status) {
void ClientSideDetectionService::StartClientReportPhishingRequest(
ClientPhishingRequest* verdict,
- ClientReportPhishingRequestCallback* callback) {
+ const ClientReportPhishingRequestCallback& callback) {
DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
scoped_ptr<ClientPhishingRequest> request(verdict);
- scoped_ptr<ClientReportPhishingRequestCallback> cb(callback);
if (!enabled_) {
- if (cb.get())
- cb->Run(GURL(request->url()), false);
+ if (!callback.is_null())
+ callback.Run(GURL(request->url()), false);
return;
}
@@ -304,9 +303,8 @@ void ClientSideDetectionService::StartClientReportPhishingRequest(
if (!request->SerializeToString(&request_data)) {
UMA_HISTOGRAM_COUNTS("SBClientPhishing.RequestNotSerialized", 1);
VLOG(1) << "Unable to serialize the CSD request. Proto file changed?";
- if (cb.get()) {
- cb->Run(GURL(request->url()), false);
- }
+ if (!callback.is_null())
+ callback.Run(GURL(request->url()), false);
return;
}
@@ -316,7 +314,7 @@ void ClientSideDetectionService::StartClientReportPhishingRequest(
// Remember which callback and URL correspond to the current fetcher object.
ClientReportInfo* info = new ClientReportInfo;
- info->callback.swap(cb); // takes ownership of the callback.
+ info->callback = callback;
info->phishing_url = GURL(request->url());
client_phishing_reports_[fetcher] = info;
@@ -392,9 +390,8 @@ void ClientSideDetectionService::HandlePhishingVerdict(
<< info->phishing_url << " status: " << status.status() << " "
<< "response_code:" << response_code;
}
- if (info->callback.get()) {
- info->callback->Run(info->phishing_url, is_phishing);
- }
+ if (!info->callback.is_null())
+ info->callback.Run(info->phishing_url, is_phishing);
client_phishing_reports_.erase(source);
delete source;
}

Powered by Google App Engine
This is Rietveld 408576698