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

Unified Diff: net/dns/host_resolver_impl.cc

Issue 2389613002: Remove stl_util's deletion functions from net/dns/. (Closed)
Patch Set: fixin Created 4 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 | « net/dns/host_resolver_impl.h ('k') | net/dns/mdns_client_impl.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: net/dns/host_resolver_impl.cc
diff --git a/net/dns/host_resolver_impl.cc b/net/dns/host_resolver_impl.cc
index bfff315cb84424a60aaddfe011c09a39b71a689f..6360f02326c42b1ff98e6124d74b3724ece7e15b 100644
--- a/net/dns/host_resolver_impl.cc
+++ b/net/dns/host_resolver_impl.cc
@@ -30,7 +30,6 @@
#include "base/metrics/sparse_histogram.h"
#include "base/profiler/scoped_tracker.h"
#include "base/single_thread_task_runner.h"
-#include "base/stl_util.h"
#include "base/strings/string_util.h"
#include "base/strings/utf_string_conversions.h"
#include "base/threading/thread_task_runner_handle.h"
@@ -1895,9 +1894,9 @@ HostResolverImpl::HostResolverImpl(const Options& options, NetLog* net_log)
HostResolverImpl::~HostResolverImpl() {
// Prevent the dispatcher from starting new jobs.
dispatcher_->SetLimitsToZero();
- // It's now safe for Jobs to call KillDsnTask on destruction, because
+ // It's now safe for Jobs to call KillDnsTask on destruction, because
// OnJobComplete will not start any new jobs.
- base::STLDeleteValues(&jobs_);
+ jobs_.clear();
NetworkChangeNotifier::RemoveIPAddressObserver(this);
NetworkChangeNotifier::RemoveConnectionTypeObserver(this);
@@ -1948,7 +1947,7 @@ int HostResolverImpl::Resolve(const RequestInfo& info,
// Next we need to attach our request to a "job". This job is responsible for
// calling "getaddrinfo(hostname)" on a worker thread.
- JobMap::iterator jobit = jobs_.find(key);
+ auto jobit = jobs_.find(key);
Job* job;
if (jobit == jobs_.end()) {
job = new Job(weak_ptr_factory_.GetWeakPtr(), key, priority,
@@ -1966,14 +1965,14 @@ int HostResolverImpl::Resolve(const RequestInfo& info,
return rv;
}
}
- jobs_.insert(jobit, std::make_pair(key, job));
+ jobs_[key] = base::WrapUnique(job);
} else {
- job = jobit->second;
+ job = jobit->second.get();
}
// Can't complete synchronously. Create and attach request.
- std::unique_ptr<RequestImpl> req(new RequestImpl(
- source_net_log, info, priority, callback, addresses, job));
+ auto req = base::MakeUnique<RequestImpl>(source_net_log, info, priority,
+ callback, addresses, job);
job->AddRequest(req.get());
*out_req = std::move(req);
@@ -2302,9 +2301,11 @@ void HostResolverImpl::CacheResult(const Key& key,
void HostResolverImpl::RemoveJob(Job* job) {
DCHECK(job);
- JobMap::iterator it = jobs_.find(job->key());
- if (it != jobs_.end() && it->second == job)
+ auto it = jobs_.find(job->key());
+ if (it != jobs_.end() && it->second.get() == job) {
+ it->second.release();
jobs_.erase(it);
+ }
}
HostResolverImpl::Key HostResolverImpl::GetEffectiveKeyForRequest(
@@ -2358,10 +2359,10 @@ void HostResolverImpl::AbortAllInProgressJobs() {
// In Abort, a Request callback could spawn new Jobs with matching keys, so
// first collect and remove all running jobs from |jobs_|.
std::vector<std::unique_ptr<Job>> jobs_to_abort;
- for (JobMap::iterator it = jobs_.begin(); it != jobs_.end(); ) {
- Job* job = it->second;
+ for (auto it = jobs_.begin(); it != jobs_.end();) {
+ Job* job = it->second.get();
if (job->is_running()) {
- jobs_to_abort.push_back(base::WrapUnique(job));
+ jobs_to_abort.push_back(std::move(it->second));
jobs_.erase(it++);
} else {
DCHECK(job->is_queued());
@@ -2398,7 +2399,7 @@ void HostResolverImpl::AbortDnsTasks() {
dispatcher_->SetLimits(
PrioritizedDispatcher::Limits(limits.reserved_slots.size(), 0));
- for (JobMap::iterator it = jobs_.begin(); it != jobs_.end(); ++it)
+ for (auto it = jobs_.begin(); it != jobs_.end(); ++it)
it->second->AbortDnsTask();
dispatcher_->SetLimits(limits);
}
@@ -2413,8 +2414,8 @@ void HostResolverImpl::TryServingAllJobsFromHosts() {
// Life check to bail once |this| is deleted.
base::WeakPtr<HostResolverImpl> self = weak_ptr_factory_.GetWeakPtr();
- for (JobMap::iterator it = jobs_.begin(); self.get() && it != jobs_.end();) {
- Job* job = it->second;
+ for (auto it = jobs_.begin(); self.get() && it != jobs_.end();) {
+ Job* job = it->second.get();
++it;
// This could remove |job| from |jobs_|, but iterator will remain valid.
job->ServeFromHosts();
« no previous file with comments | « net/dns/host_resolver_impl.h ('k') | net/dns/mdns_client_impl.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698