Index: net/http/http_auth_controller.cc |
diff --git a/net/http/http_auth_controller.cc b/net/http/http_auth_controller.cc |
index 9cc57de35aadec7396d8c383bc6584f93bc1fb90..69bbdfc74c3466892c721b15338ce44e9cd8ab4d 100644 |
--- a/net/http/http_auth_controller.cc |
+++ b/net/http/http_auth_controller.cc |
@@ -435,8 +435,12 @@ void HttpAuthController::InvalidateCurrentHandler( |
if (action == INVALIDATE_HANDLER_AND_CACHED_CREDENTIALS) |
InvalidateRejectedAuthFromCache(); |
- if (action == INVALIDATE_HANDLER_AND_DISABLE_SCHEME) |
+ if (action == INVALIDATE_HANDLER_AND_DISABLE_SCHEME) { |
DisableAuthScheme(handler_->auth_scheme()); |
+ // This scheme might have been tried with the default credentials, but |
+ // the *next* one is still allowed to try them. |
+ default_credentials_used_ = false; |
+ } |
handler_.reset(); |
identity_ = HttpAuth::Identity(); |
} |