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

Unified Diff: net/proxy/mock_proxy_resolver.h

Issue 1745133002: Revert of Change ProxyResolver::GetProxyForURL() to take a scoped_ptr<Request>* rather than a RequestHandle* (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 10 months 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/http/http_network_transaction_unittest.cc ('k') | net/proxy/mock_proxy_resolver.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: net/proxy/mock_proxy_resolver.h
diff --git a/net/proxy/mock_proxy_resolver.h b/net/proxy/mock_proxy_resolver.h
index 71ca2b243137f60c00819c80bb5eb98dd8feaa70..9ed3348b3fae072f04a04a101e3d3c0bcfeee85f 100644
--- a/net/proxy/mock_proxy_resolver.h
+++ b/net/proxy/mock_proxy_resolver.h
@@ -21,26 +21,27 @@
namespace net {
// Asynchronous mock proxy resolver. All requests complete asynchronously,
-// user must call Job::CompleteNow() on a pending request to signal it.
+// user must call Request::CompleteNow() on a pending request to signal it.
class MockAsyncProxyResolver : public ProxyResolver {
public:
- class Job {
+ class Request : public base::RefCounted<Request> {
public:
- Job(MockAsyncProxyResolver* resolver,
- const GURL& url,
- ProxyInfo* results,
- const CompletionCallback& callback);
+ Request(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);
- ~Job();
+ private:
+ friend class base::RefCounted<Request>;
- private:
+ virtual ~Request();
+
MockAsyncProxyResolver* resolver_;
const GURL url_;
ProxyInfo* results_;
@@ -48,17 +49,7 @@
base::MessageLoop* origin_loop_;
};
- class RequestImpl : public ProxyResolver::Request {
- public:
- explicit RequestImpl(scoped_ptr<Job> job);
-
- ~RequestImpl() override;
-
- LoadState GetLoadState() override;
-
- private:
- scoped_ptr<Job> job_;
- };
+ typedef std::vector<scoped_refptr<Request> > RequestsList;
MockAsyncProxyResolver();
~MockAsyncProxyResolver() override;
@@ -67,20 +58,23 @@
int GetProxyForURL(const GURL& url,
ProxyInfo* results,
const CompletionCallback& callback,
- scoped_ptr<Request>* request,
+ RequestHandle* request_handle,
const BoundNetLog& /*net_log*/) override;
- const std::vector<Job*>& pending_jobs() const { return pending_jobs_; }
-
- const std::vector<scoped_ptr<Job>>& cancelled_jobs() const {
- return cancelled_jobs_;
+ void CancelRequest(RequestHandle request_handle) override;
+ LoadState GetLoadState(RequestHandle request_handle) const override;
+ const RequestsList& pending_requests() const {
+ return pending_requests_;
}
- void AddCancelledJob(scoped_ptr<Job> job);
- void RemovePendingJob(Job* job);
+ const RequestsList& cancelled_requests() const {
+ return cancelled_requests_;
+ }
+
+ void RemovePendingRequest(Request* request);
private:
- std::vector<Job*> pending_jobs_;
- std::vector<scoped_ptr<Job>> cancelled_jobs_;
+ RequestsList pending_requests_;
+ RequestsList cancelled_requests_;
};
// Asynchronous mock proxy resolver factory . All requests complete
@@ -157,8 +151,10 @@
int GetProxyForURL(const GURL& query_url,
ProxyInfo* results,
const CompletionCallback& callback,
- scoped_ptr<Request>* request,
+ RequestHandle* request,
const BoundNetLog& net_log) override;
+ void CancelRequest(RequestHandle request) override;
+ LoadState GetLoadState(RequestHandle request) const override;
private:
ProxyResolver* impl_;
« no previous file with comments | « net/http/http_network_transaction_unittest.cc ('k') | net/proxy/mock_proxy_resolver.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698