summaryrefslogtreecommitdiffstats
path: root/chrome_frame/urlmon_url_request.cc
diff options
context:
space:
mode:
authorananta@chromium.org <ananta@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-04-20 21:31:40 +0000
committerananta@chromium.org <ananta@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-04-20 21:31:40 +0000
commitf144d2609f752bb762aebee910324b976d4d9d24 (patch)
tree02f632fa2531d22d7438a3dff59ed5e6e7776785 /chrome_frame/urlmon_url_request.cc
parent2afcb02299deb1e29d09cb096f6b4f03d0335a87 (diff)
downloadchromium_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.cc7
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;