Index: net/proxy/proxy_resolver.h |
diff --git a/net/proxy/proxy_resolver.h b/net/proxy/proxy_resolver.h |
index 81efe0577ba53ecff048583e64821aff6f91a996..0a85f6045d3ae12c348a31911d7e287c0e1188b8 100644 |
--- a/net/proxy/proxy_resolver.h |
+++ b/net/proxy/proxy_resolver.h |
@@ -27,8 +27,11 @@ class ProxyInfo; |
// requests at a time. |
class NET_EXPORT_PRIVATE ProxyResolver { |
public: |
- // Opaque pointer type, to return a handle to cancel outstanding requests. |
- typedef void* RequestHandle; |
+ class Request { |
+ public: |
+ virtual ~Request() {} // Cancels the request |
+ virtual LoadState GetLoadState() = 0; |
+ }; |
ProxyResolver() {} |
@@ -39,19 +42,14 @@ class NET_EXPORT_PRIVATE ProxyResolver { |
// by running |callback|. If the result code is OK then |
// the request was successful and |results| contains the proxy |
// resolution information. In the case of asynchronous completion |
- // |*request| is written to, and can be passed to CancelRequest(). |
+ // |*request| is written to. Call request->reset() to cancel. The |
+ // scoped_ptr<Request> must not outlive the ProxyResolver that assigned it. |
virtual int GetProxyForURL(const GURL& url, |
ProxyInfo* results, |
const CompletionCallback& callback, |
- RequestHandle* request, |
+ scoped_ptr<Request>* request, |
const BoundNetLog& net_log) = 0; |
- // Cancels |request|. |
- virtual void CancelRequest(RequestHandle request) = 0; |
- |
- // Gets the LoadState for |request|. |
- virtual LoadState GetLoadState(RequestHandle request) const = 0; |
- |
private: |
DISALLOW_COPY_AND_ASSIGN(ProxyResolver); |
}; |