| OLD | NEW |
| 1 // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "net/proxy/proxy_resolver_winhttp.h" | 5 #include "net/proxy/proxy_resolver_winhttp.h" |
| 6 | 6 |
| 7 #include <windows.h> | 7 #include <windows.h> |
| 8 #include <winhttp.h> | 8 #include <winhttp.h> |
| 9 | 9 |
| 10 #include "base/histogram.h" | 10 #include "base/histogram.h" |
| (...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 49 } | 49 } |
| 50 | 50 |
| 51 ProxyResolverWinHttp::~ProxyResolverWinHttp() { | 51 ProxyResolverWinHttp::~ProxyResolverWinHttp() { |
| 52 CloseWinHttpSession(); | 52 CloseWinHttpSession(); |
| 53 } | 53 } |
| 54 | 54 |
| 55 int ProxyResolverWinHttp::GetProxyForURL(const GURL& query_url, | 55 int ProxyResolverWinHttp::GetProxyForURL(const GURL& query_url, |
| 56 ProxyInfo* results, | 56 ProxyInfo* results, |
| 57 CompletionCallback* /*callback*/, | 57 CompletionCallback* /*callback*/, |
| 58 RequestHandle* /*request*/, | 58 RequestHandle* /*request*/, |
| 59 LoadLog* /*load_log*/) { | 59 const BoundNetLog& /*net_log*/) { |
| 60 // If we don't have a WinHTTP session, then create a new one. | 60 // If we don't have a WinHTTP session, then create a new one. |
| 61 if (!session_handle_ && !OpenWinHttpSession()) | 61 if (!session_handle_ && !OpenWinHttpSession()) |
| 62 return ERR_FAILED; | 62 return ERR_FAILED; |
| 63 | 63 |
| 64 // If we have been given an empty PAC url, then use auto-detection. | 64 // If we have been given an empty PAC url, then use auto-detection. |
| 65 // | 65 // |
| 66 // NOTE: We just use DNS-based auto-detection here like Firefox. We do this | 66 // NOTE: We just use DNS-based auto-detection here like Firefox. We do this |
| 67 // to avoid WinHTTP's auto-detection code, which while more featureful (it | 67 // to avoid WinHTTP's auto-detection code, which while more featureful (it |
| 68 // supports DHCP based auto-detection) also appears to have issues. | 68 // supports DHCP based auto-detection) also appears to have issues. |
| 69 // | 69 // |
| (...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 168 } | 168 } |
| 169 | 169 |
| 170 void ProxyResolverWinHttp::CloseWinHttpSession() { | 170 void ProxyResolverWinHttp::CloseWinHttpSession() { |
| 171 if (session_handle_) { | 171 if (session_handle_) { |
| 172 WinHttpCloseHandle(session_handle_); | 172 WinHttpCloseHandle(session_handle_); |
| 173 session_handle_ = NULL; | 173 session_handle_ = NULL; |
| 174 } | 174 } |
| 175 } | 175 } |
| 176 | 176 |
| 177 } // namespace net | 177 } // namespace net |
| OLD | NEW |