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

Unified Diff: components/domain_reliability/uploader.cc

Issue 2289763003: Remove stl_util use from domain_reliability. (Closed)
Patch Set: win Created 4 years, 4 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 side-by-side diff with in-line comments
Download patch
Index: components/domain_reliability/uploader.cc
diff --git a/components/domain_reliability/uploader.cc b/components/domain_reliability/uploader.cc
index a5bfcfbafb091233e270d695dadb75dfd86dceae..a3fb91d4620f3d059ab29dfb9ef1a82b3bf4517c 100644
--- a/components/domain_reliability/uploader.cc
+++ b/components/domain_reliability/uploader.cc
@@ -4,10 +4,11 @@
#include "components/domain_reliability/uploader.h"
+#include <utility>
+
#include "base/bind.h"
#include "base/callback.h"
#include "base/metrics/sparse_histogram.h"
-#include "base/stl_util.h"
#include "base/supports_user_data.h"
#include "components/data_use_measurement/core/data_use_user_data.h"
#include "components/domain_reliability/util.h"
@@ -60,11 +61,7 @@ class DomainReliabilityUploaderImpl
url_request_context_getter_(url_request_context_getter),
discard_uploads_(true) {}
- ~DomainReliabilityUploaderImpl() override {
- // Delete any in-flight URLFetchers.
- base::STLDeleteContainerPairFirstPointers(upload_callbacks_.begin(),
- upload_callbacks_.end());
- }
+ ~DomainReliabilityUploaderImpl() override {}
// DomainReliabilityUploader implementation:
void UploadReport(
@@ -83,9 +80,9 @@ class DomainReliabilityUploaderImpl
return;
}
- net::URLFetcher* fetcher =
- net::URLFetcher::Create(0, upload_url, net::URLFetcher::POST, this)
- .release();
+ std::unique_ptr<net::URLFetcher> owned_fetcher =
+ net::URLFetcher::Create(0, upload_url, net::URLFetcher::POST, this);
+ net::URLFetcher* fetcher = owned_fetcher.get();
data_use_measurement::DataUseUserData::AttachToFetcher(
fetcher, data_use_measurement::DataUseUserData::DOMAIN_RELIABILITY);
fetcher->SetRequestContext(url_request_context_getter_.get());
@@ -98,7 +95,7 @@ class DomainReliabilityUploaderImpl
UploadUserData::CreateCreateDataCallback(max_upload_depth + 1));
fetcher->Start();
- upload_callbacks_[fetcher] = callback;
+ upload_callbacks_[fetcher] = {std::move(owned_fetcher), callback};
}
void set_discard_uploads(bool discard_uploads) override {
@@ -110,7 +107,7 @@ class DomainReliabilityUploaderImpl
void OnURLFetchComplete(const net::URLFetcher* fetcher) override {
DCHECK(fetcher);
- UploadCallbackMap::iterator callback_it = upload_callbacks_.find(fetcher);
+ auto callback_it = upload_callbacks_.find(fetcher);
DCHECK(callback_it != upload_callbacks_.end());
int net_error = GetNetErrorFromURLRequestStatus(fetcher->GetStatus());
@@ -142,19 +139,19 @@ class DomainReliabilityUploaderImpl
http_response_code,
retry_after,
&result);
- callback_it->second.Run(result);
+ callback_it->second.second.Run(result);
- delete callback_it->first;
upload_callbacks_.erase(callback_it);
}
private:
using DomainReliabilityUploader::UploadCallback;
- typedef std::map<const net::URLFetcher*, UploadCallback> UploadCallbackMap;
MockableTime* time_;
scoped_refptr<net::URLRequestContextGetter> url_request_context_getter_;
- UploadCallbackMap upload_callbacks_;
+ std::map<const net::URLFetcher*,
+ std::pair<std::unique_ptr<net::URLFetcher>, UploadCallback>>
+ upload_callbacks_;
bool discard_uploads_;
};
« components/domain_reliability/monitor.cc ('K') | « components/domain_reliability/monitor_unittest.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698