| Index: net/base/host_resolver_impl.cc
|
| diff --git a/net/base/host_resolver_impl.cc b/net/base/host_resolver_impl.cc
|
| index 31f08c0e85529ce255cd89dc304a4c2cdcbb3766..d01820bcb4614b2c0398d342ec62ff5e917aaaa7 100644
|
| --- a/net/base/host_resolver_impl.cc
|
| +++ b/net/base/host_resolver_impl.cc
|
| @@ -16,6 +16,7 @@
|
|
|
| #include "base/basictypes.h"
|
| #include "base/bind.h"
|
| +#include "base/bind_helpers.h"
|
| #include "base/compiler_specific.h"
|
| #include "base/debug/debugger.h"
|
| #include "base/debug/stack_trace.h"
|
| @@ -262,7 +263,7 @@ class HostResolverImpl::Request {
|
| Request(const BoundNetLog& source_net_log,
|
| const BoundNetLog& request_net_log,
|
| const RequestInfo& info,
|
| - OldCompletionCallback* callback,
|
| + const CompletionCallback& callback,
|
| AddressList* addresses)
|
| : source_net_log_(source_net_log),
|
| request_net_log_(request_net_log),
|
| @@ -275,12 +276,12 @@ class HostResolverImpl::Request {
|
| // Mark the request as cancelled.
|
| void MarkAsCancelled() {
|
| job_ = NULL;
|
| - callback_ = NULL;
|
| addresses_ = NULL;
|
| + callback_.Reset();
|
| }
|
|
|
| bool was_cancelled() const {
|
| - return callback_ == NULL;
|
| + return callback_.is_null();
|
| }
|
|
|
| void set_job(Job* job) {
|
| @@ -292,9 +293,9 @@ class HostResolverImpl::Request {
|
| void OnComplete(int error, const AddressList& addrlist) {
|
| if (error == OK)
|
| *addresses_ = CreateAddressListUsingPort(addrlist, port());
|
| - OldCompletionCallback* callback = callback_;
|
| + CompletionCallback callback = callback_;
|
| MarkAsCancelled();
|
| - callback->Run(error);
|
| + callback.Run(error);
|
| }
|
|
|
| int port() const {
|
| @@ -328,7 +329,7 @@ class HostResolverImpl::Request {
|
| Job* job_;
|
|
|
| // The user's callback to invoke when the request completes.
|
| - OldCompletionCallback* callback_;
|
| + CompletionCallback callback_;
|
|
|
| // The address list to save result into.
|
| AddressList* addresses_;
|
| @@ -1120,12 +1121,12 @@ void HostResolverImpl::SetPoolConstraints(JobPoolIndex pool_index,
|
|
|
| int HostResolverImpl::Resolve(const RequestInfo& info,
|
| AddressList* addresses,
|
| - OldCompletionCallback* callback,
|
| + const CompletionCallback& callback,
|
| RequestHandle* out_req,
|
| const BoundNetLog& source_net_log) {
|
| DCHECK(addresses);
|
| - DCHECK(callback);
|
| DCHECK(CalledOnValidThread());
|
| + DCHECK_EQ(false, callback.is_null());
|
|
|
| // Make a log item for the request.
|
| BoundNetLog request_net_log = BoundNetLog::Make(net_log_,
|
| @@ -1146,7 +1147,7 @@ int HostResolverImpl::Resolve(const RequestInfo& info,
|
| return rv;
|
| }
|
|
|
| - // Create a handle for this request, and pass it back to the user if they
|
| + // Create a handle for this request, and pass it back to the user if they
|
| // asked for it (out_req != NULL).
|
| Request* req = new Request(source_net_log, request_net_log, info,
|
| callback, addresses);
|
|
|