Index: net/proxy/proxy_resolver.h |
diff --git a/net/proxy/proxy_resolver.h b/net/proxy/proxy_resolver.h |
index 0a85f6045d3ae12c348a31911d7e287c0e1188b8..81efe0577ba53ecff048583e64821aff6f91a996 100644 |
--- a/net/proxy/proxy_resolver.h |
+++ b/net/proxy/proxy_resolver.h |
@@ -27,11 +27,8 @@ |
// requests at a time. |
class NET_EXPORT_PRIVATE ProxyResolver { |
public: |
- class Request { |
- public: |
- virtual ~Request() {} // Cancels the request |
- virtual LoadState GetLoadState() = 0; |
- }; |
+ // Opaque pointer type, to return a handle to cancel outstanding requests. |
+ typedef void* RequestHandle; |
ProxyResolver() {} |
@@ -42,13 +39,18 @@ |
// 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. Call request->reset() to cancel. The |
- // scoped_ptr<Request> must not outlive the ProxyResolver that assigned it. |
+ // |*request| is written to, and can be passed to CancelRequest(). |
virtual int GetProxyForURL(const GURL& url, |
ProxyInfo* results, |
const CompletionCallback& callback, |
- scoped_ptr<Request>* request, |
+ RequestHandle* 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); |