Chromium Code Reviews| Index: net/proxy/proxy_resolver_v8_tracing_wrapper_unittest.cc |
| diff --git a/net/proxy/proxy_resolver_v8_tracing_wrapper_unittest.cc b/net/proxy/proxy_resolver_v8_tracing_wrapper_unittest.cc |
| index 24399e60268ddfa5194f9095438613c7b80d8dc5..ea8cc348a3176a7bd5d903954370dd7d1333e13d 100644 |
| --- a/net/proxy/proxy_resolver_v8_tracing_wrapper_unittest.cc |
| +++ b/net/proxy/proxy_resolver_v8_tracing_wrapper_unittest.cc |
| @@ -771,7 +771,7 @@ class BlockableHostResolver : public HostResolver { |
| RequestPriority priority, |
| AddressList* addresses, |
| const CompletionCallback& callback, |
| - RequestHandle* out_req, |
| + std::unique_ptr<Request>* out_req, |
| const BoundNetLog& net_log) override { |
| EXPECT_FALSE(callback.is_null()); |
| EXPECT_TRUE(out_req); |
| @@ -786,7 +786,7 @@ class BlockableHostResolver : public HostResolver { |
| // This line is intentionally after action_.Run(), since one of the |
| // tests does a cancellation inside of Resolve(), and it is more |
| // interesting if *out_req hasn't been written yet at that point. |
| - *out_req = reinterpret_cast<RequestHandle*>(1); // Magic value. |
| + (*out_req).reset(new RequestImpl(this)); |
|
mmenke
2016/07/19 19:03:56
out_req->reset
|
| // Return ERR_IO_PENDING as this request will NEVER be completed. |
| // Expectation is for the caller to later cancel the request. |
| @@ -800,10 +800,7 @@ class BlockableHostResolver : public HostResolver { |
| return ERR_DNS_CACHE_MISS; |
| } |
| - void CancelRequest(RequestHandle req) override { |
| - EXPECT_EQ(reinterpret_cast<RequestHandle*>(1), req); |
| - num_cancelled_requests_++; |
| - } |
| + void IncreaseNumOfCancelledRequests() { num_cancelled_requests_++; } |
| void SetAction(const base::Callback<void(void)>& action) { action_ = action; } |
| @@ -818,6 +815,23 @@ class BlockableHostResolver : public HostResolver { |
| int num_cancelled_requests() const { return num_cancelled_requests_; } |
| private: |
| + class RequestImpl : public HostResolver::Request { |
| + public: |
| + RequestImpl(BlockableHostResolver* resolver) : resolver_(resolver) {} |
| + |
| + ~RequestImpl() override { |
| + if (resolver_) |
| + resolver_->IncreaseNumOfCancelledRequests(); |
| + } |
| + |
| + void ChangeRequestPriority(RequestPriority priority) override {} |
| + |
| + private: |
| + BlockableHostResolver* resolver_; |
| + |
| + DISALLOW_COPY_AND_ASSIGN(RequestImpl); |
| + }; |
| + |
| int num_cancelled_requests_; |
| bool waiting_for_resolve_; |
| base::Callback<void(void)> action_; |