diff options
author | ananta@chromium.org <ananta@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-04-20 21:31:40 +0000 |
---|---|---|
committer | ananta@chromium.org <ananta@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-04-20 21:31:40 +0000 |
commit | f144d2609f752bb762aebee910324b976d4d9d24 (patch) | |
tree | 02f632fa2531d22d7438a3dff59ed5e6e7776785 /chrome_frame/urlmon_url_request.cc | |
parent | 2afcb02299deb1e29d09cb096f6b4f03d0335a87 (diff) | |
download | chromium_src-f144d2609f752bb762aebee910324b976d4d9d24.zip chromium_src-f144d2609f752bb762aebee910324b976d4d9d24.tar.gz chromium_src-f144d2609f752bb762aebee910324b976d4d9d24.tar.bz2 |
Fix the RedirectToInvalidUrl net test which started failing in ChromeFrame after the change to set the wininet option to not
automatically follow redirects. If the server redirects to an invalid url it fails url validation in wininet and does not notify
the bind status callback. We need to convert the corresponding error codes returned by wininet in OnStopBinding to the invalid url
net error code as expected by chrome.
BUG=none
TEST=chrome frame net tests should pass
Review URL: http://codereview.chromium.org/6883075
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@82360 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome_frame/urlmon_url_request.cc')
-rw-r--r-- | chrome_frame/urlmon_url_request.cc | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/chrome_frame/urlmon_url_request.cc b/chrome_frame/urlmon_url_request.cc index e45e26e..e590b5d 100644 --- a/chrome_frame/urlmon_url_request.cc +++ b/chrome_frame/urlmon_url_request.cc @@ -894,6 +894,7 @@ void UrlmonUrlRequest::ReleaseBindings() { } net::Error UrlmonUrlRequest::HresultToNetError(HRESULT hr) { + const int kInvalidHostName = 0x8007007b; // Useful reference: // http://msdn.microsoft.com/en-us/library/ms775145(VS.85).aspx @@ -929,9 +930,15 @@ net::Error UrlmonUrlRequest::HresultToNetError(HRESULT hr) { ret = net::ERR_TUNNEL_CONNECTION_FAILED; break; + // The following error codes can be returned while processing an invalid + // url. http://msdn.microsoft.com/en-us/library/bb250493(v=vs.85).aspx case INET_E_INVALID_URL: case INET_E_UNKNOWN_PROTOCOL: case INET_E_REDIRECT_FAILED: + case INET_E_SECURITY_PROBLEM: + case kInvalidHostName: + case E_INVALIDARG: + case E_OUTOFMEMORY: ret = net::ERR_INVALID_URL; break; |