| Index: net/proxy/mock_proxy_resolver.h
|
| diff --git a/net/proxy/mock_proxy_resolver.h b/net/proxy/mock_proxy_resolver.h
|
| index 9ed3348b3fae072f04a04a101e3d3c0bcfeee85f..fffc2a5333f64e295fcd022b36a3a364dc186f50 100644
|
| --- a/net/proxy/mock_proxy_resolver.h
|
| +++ b/net/proxy/mock_proxy_resolver.h
|
| @@ -21,26 +21,27 @@ class MessageLoop;
|
| namespace net {
|
|
|
| // Asynchronous mock proxy resolver. All requests complete asynchronously,
|
| -// user must call Request::CompleteNow() on a pending request to signal it.
|
| +// user must call Job::CompleteNow() on a pending request to signal it.
|
| class MockAsyncProxyResolver : public ProxyResolver {
|
| public:
|
| - class Request : public base::RefCounted<Request> {
|
| + class Job : public base::RefCounted<Job>, public base::SupportsWeakPtr<Job> {
|
| public:
|
| - Request(MockAsyncProxyResolver* resolver,
|
| - const GURL& url,
|
| - ProxyInfo* results,
|
| - const CompletionCallback& callback);
|
| + Job(MockAsyncProxyResolver* resolver,
|
| + const GURL& url,
|
| + ProxyInfo* results,
|
| + const CompletionCallback& callback);
|
|
|
| const GURL& url() const { return url_; }
|
| ProxyInfo* results() const { return results_; }
|
| const CompletionCallback& callback() const { return callback_; }
|
| + MockAsyncProxyResolver* Resolver() const { return resolver_; };
|
|
|
| void CompleteNow(int rv);
|
|
|
| private:
|
| - friend class base::RefCounted<Request>;
|
| + friend class base::RefCounted<Job>;
|
|
|
| - virtual ~Request();
|
| + virtual ~Job();
|
|
|
| MockAsyncProxyResolver* resolver_;
|
| const GURL url_;
|
| @@ -49,7 +50,19 @@ class MockAsyncProxyResolver : public ProxyResolver {
|
| base::MessageLoop* origin_loop_;
|
| };
|
|
|
| - typedef std::vector<scoped_refptr<Request> > RequestsList;
|
| + class RequestImpl : public ProxyResolver::Request {
|
| + public:
|
| + RequestImpl(base::WeakPtr<Job> job);
|
| +
|
| + ~RequestImpl() override;
|
| +
|
| + LoadState GetLoadState() override;
|
| +
|
| + private:
|
| + base::WeakPtr<Job> job_;
|
| + };
|
| +
|
| + using JobsList = std::vector<scoped_refptr<Job>>;
|
|
|
| MockAsyncProxyResolver();
|
| ~MockAsyncProxyResolver() override;
|
| @@ -58,23 +71,18 @@ class MockAsyncProxyResolver : public ProxyResolver {
|
| int GetProxyForURL(const GURL& url,
|
| ProxyInfo* results,
|
| const CompletionCallback& callback,
|
| - RequestHandle* request_handle,
|
| + scoped_ptr<Request>* request,
|
| const BoundNetLog& /*net_log*/) override;
|
| - void CancelRequest(RequestHandle request_handle) override;
|
| - LoadState GetLoadState(RequestHandle request_handle) const override;
|
| - const RequestsList& pending_requests() const {
|
| - return pending_requests_;
|
| - }
|
| + const JobsList& pending_jobs() const { return pending_jobs_; }
|
|
|
| - const RequestsList& cancelled_requests() const {
|
| - return cancelled_requests_;
|
| - }
|
| + const JobsList& cancelled_jobs() const { return cancelled_jobs_; }
|
|
|
| - void RemovePendingRequest(Request* request);
|
| + void AddCancelledJob(base::WeakPtr<Job> job);
|
| + void RemovePendingJob(base::WeakPtr<Job> job);
|
|
|
| private:
|
| - RequestsList pending_requests_;
|
| - RequestsList cancelled_requests_;
|
| + JobsList pending_jobs_;
|
| + JobsList cancelled_jobs_;
|
| };
|
|
|
| // Asynchronous mock proxy resolver factory . All requests complete
|
| @@ -151,10 +159,8 @@ class ForwardingProxyResolver : public ProxyResolver {
|
| int GetProxyForURL(const GURL& query_url,
|
| ProxyInfo* results,
|
| const CompletionCallback& callback,
|
| - RequestHandle* request,
|
| + scoped_ptr<Request>* request,
|
| const BoundNetLog& net_log) override;
|
| - void CancelRequest(RequestHandle request) override;
|
| - LoadState GetLoadState(RequestHandle request) const override;
|
|
|
| private:
|
| ProxyResolver* impl_;
|
|
|