Chromium Code Reviews| Index: net/dns/mojo_host_resolver_impl.cc |
| diff --git a/net/dns/mojo_host_resolver_impl.cc b/net/dns/mojo_host_resolver_impl.cc |
| index f8f08d8b249da078cd7fc61fe3f73d665e67f24f..63a8eead147f47dd00da06d1c6d43b4753e5d2c9 100644 |
| --- a/net/dns/mojo_host_resolver_impl.cc |
| +++ b/net/dns/mojo_host_resolver_impl.cc |
| @@ -6,7 +6,7 @@ |
| #include <utility> |
| -#include "base/stl_util.h" |
| +#include "base/memory/ptr_util.h" |
| #include "net/base/address_list.h" |
| #include "net/base/net_errors.h" |
| #include "net/base/network_interfaces.h" |
| @@ -51,7 +51,6 @@ MojoHostResolverImpl::MojoHostResolverImpl(net::HostResolver* resolver, |
| MojoHostResolverImpl::~MojoHostResolverImpl() { |
| DCHECK(thread_checker_.CalledOnValidThread()); |
| - base::STLDeleteElements(&pending_jobs_); |
| } |
| void MojoHostResolverImpl::Resolve( |
| @@ -66,15 +65,17 @@ void MojoHostResolverImpl::Resolve( |
| } |
| Job* job = |
| new Job(this, resolver_, *request_info, net_log_, std::move(client)); |
| - pending_jobs_.insert(job); |
| + pending_jobs_.insert(base::WrapUnique(job)); |
| job->Start(); |
| } |
| void MojoHostResolverImpl::DeleteJob(Job* job) { |
| DCHECK(thread_checker_.CalledOnValidThread()); |
| - size_t num_erased = pending_jobs_.erase(job); |
| - DCHECK(num_erased); |
| - delete job; |
| + auto it = std::find_if( |
| + pending_jobs_.begin(), pending_jobs_.end(), |
| + [job](const std::unique_ptr<Job>& ptr) { return ptr.get() == job; }); |
|
davidben
2016/11/09 22:22:03
Same issue as always. :-) std::find_if on a std::s
|
| + DCHECK(it != pending_jobs_.end()); |
| + pending_jobs_.erase(it); |
| } |
| MojoHostResolverImpl::Job::Job( |