summaryrefslogtreecommitdiffstats
path: root/net/proxy
diff options
context:
space:
mode:
authorellyjones <ellyjones@chromium.org>2015-08-18 12:22:25 -0700
committerCommit bot <commit-bot@chromium.org>2015-08-18 19:22:58 +0000
commita4904a760a40d0b9856e5f6277e904b39d94dff8 (patch)
treef22a60dc39feaa53cc2604e1f8a0b7ca249c0c3f /net/proxy
parentf5f4589df29346073165fe3fbefaa6fb494049c2 (diff)
downloadchromium_src-a4904a760a40d0b9856e5f6277e904b39d94dff8.zip
chromium_src-a4904a760a40d0b9856e5f6277e904b39d94dff8.tar.gz
chromium_src-a4904a760a40d0b9856e5f6277e904b39d94dff8.tar.bz2
ProxyResolverWinHttp: translate WinHttp error codes to net error codes
BUG=488596 Review URL: https://codereview.chromium.org/1294373002 Cr-Commit-Position: refs/heads/master@{#343995}
Diffstat (limited to 'net/proxy')
-rw-r--r--net/proxy/proxy_resolver_winhttp.cc24
1 files changed, 23 insertions, 1 deletions
diff --git a/net/proxy/proxy_resolver_winhttp.cc b/net/proxy/proxy_resolver_winhttp.cc
index d52ceb2..bfdce33 100644
--- a/net/proxy/proxy_resolver_winhttp.cc
+++ b/net/proxy/proxy_resolver_winhttp.cc
@@ -29,6 +29,28 @@ static void FreeInfo(WINHTTP_PROXY_INFO* info) {
GlobalFree(info->lpszProxyBypass);
}
+static Error WinHttpErrorToNetError(DWORD win_http_error) {
+ switch (win_http_error) {
+ case ERROR_WINHTTP_AUTO_PROXY_SERVICE_ERROR:
+ case ERROR_WINHTTP_INTERNAL_ERROR:
+ case ERROR_WINHTTP_INCORRECT_HANDLE_TYPE:
+ return ERR_FAILED;
+ case ERROR_WINHTTP_LOGIN_FAILURE:
+ return ERR_PROXY_AUTH_UNSUPPORTED;
+ case ERROR_WINHTTP_BAD_AUTO_PROXY_SCRIPT:
+ return ERR_PAC_SCRIPT_FAILED;
+ case ERROR_WINHTTP_INVALID_URL:
+ case ERROR_WINHTTP_OPERATION_CANCELLED:
+ case ERROR_WINHTTP_UNABLE_TO_DOWNLOAD_SCRIPT:
+ case ERROR_WINHTTP_UNRECOGNIZED_SCHEME:
+ return ERR_PAC_STATUS_NOT_OK;
+ case ERROR_NOT_ENOUGH_MEMORY:
+ return ERR_INSUFFICIENT_RESOURCES;
+ default:
+ return ERR_FAILED;
+ }
+}
+
class ProxyResolverWinHttp : public ProxyResolver {
public:
ProxyResolverWinHttp(
@@ -116,7 +138,7 @@ int ProxyResolverWinHttp::GetProxyForURL(const GURL& query_url,
ERROR_WINHTTP_AUTO_PROXY_SERVICE_ERROR == error) {
CloseWinHttpSession();
}
- return ERR_FAILED; // TODO(darin): Bug 1189288: translate error code.
+ return WinHttpErrorToNetError(error);
}
}