| OLD | NEW |
| (Empty) |
| 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | |
| 2 // Use of this source code is governed by a BSD-style license that can be | |
| 3 // found in the LICENSE file. | |
| 4 | |
| 5 #ifndef NET_PROXY_PROXY_RESOLVER_WINHTTP_H_ | |
| 6 #define NET_PROXY_PROXY_RESOLVER_WINHTTP_H_ | |
| 7 | |
| 8 #include "base/compiler_specific.h" | |
| 9 #include "net/proxy/proxy_resolver.h" | |
| 10 #include "url/gurl.h" | |
| 11 | |
| 12 typedef void* HINTERNET; // From winhttp.h | |
| 13 | |
| 14 namespace net { | |
| 15 | |
| 16 // An implementation of ProxyResolver that uses WinHTTP and the system | |
| 17 // proxy settings. | |
| 18 class NET_EXPORT_PRIVATE ProxyResolverWinHttp : public ProxyResolver { | |
| 19 public: | |
| 20 ProxyResolverWinHttp(); | |
| 21 virtual ~ProxyResolverWinHttp(); | |
| 22 | |
| 23 // ProxyResolver implementation: | |
| 24 virtual int GetProxyForURL(const GURL& url, | |
| 25 ProxyInfo* results, | |
| 26 const net::CompletionCallback& /*callback*/, | |
| 27 RequestHandle* /*request*/, | |
| 28 const BoundNetLog& /*net_log*/) override; | |
| 29 virtual void CancelRequest(RequestHandle request) override; | |
| 30 | |
| 31 virtual LoadState GetLoadState(RequestHandle request) const override; | |
| 32 | |
| 33 virtual void CancelSetPacScript() override; | |
| 34 | |
| 35 virtual int SetPacScript( | |
| 36 const scoped_refptr<ProxyResolverScriptData>& script_data, | |
| 37 const net::CompletionCallback& /*callback*/) override; | |
| 38 | |
| 39 private: | |
| 40 bool OpenWinHttpSession(); | |
| 41 void CloseWinHttpSession(); | |
| 42 | |
| 43 // Proxy configuration is cached on the session handle. | |
| 44 HINTERNET session_handle_; | |
| 45 | |
| 46 GURL pac_url_; | |
| 47 | |
| 48 DISALLOW_COPY_AND_ASSIGN(ProxyResolverWinHttp); | |
| 49 }; | |
| 50 | |
| 51 } // namespace net | |
| 52 | |
| 53 #endif // NET_PROXY_PROXY_RESOLVER_WINHTTP_H_ | |
| OLD | NEW |