Index: net/proxy/sync_host_resolver_bridge.h |
=================================================================== |
--- net/proxy/sync_host_resolver_bridge.h (revision 51891) |
+++ net/proxy/sync_host_resolver_bridge.h (working copy) |
@@ -7,6 +7,7 @@ |
#include "base/scoped_ptr.h" |
#include "net/base/host_resolver.h" |
+#include "net/proxy/single_threaded_proxy_resolver.h" |
class MessageLoop; |
@@ -34,7 +35,7 @@ |
// The Shutdown() method should be called prior to destruction, from |
// |host_resolver_loop_|. It aborts any in progress synchronous resolves, to |
// prevent deadlocks from happening. |
- virtual void Shutdown(); |
+ void Shutdown(); |
private: |
class Core; |
@@ -43,6 +44,22 @@ |
scoped_refptr<Core> core_; |
}; |
+// Subclass of SingleThreadedProxyResolver that additionally calls |
+// |bridged_host_resolver_->Shutdown()| during its destructor. |
+class SingleThreadedProxyResolverUsingBridgedHostResolver |
+ : public SingleThreadedProxyResolver { |
+ public: |
+ SingleThreadedProxyResolverUsingBridgedHostResolver( |
+ ProxyResolver* proxy_resolver, |
+ SyncHostResolverBridge* bridged_host_resolver); |
+ |
+ virtual ~SingleThreadedProxyResolverUsingBridgedHostResolver(); |
+ |
+ private: |
+ scoped_refptr<SyncHostResolverBridge> bridged_host_resolver_; |
+}; |
+ |
+ |
} // namespace net |
#endif // NET_PROXY_SYNC_HOST_RESOLVER_BRIDGE_H_ |