summaryrefslogtreecommitdiffstats
path: root/components/error_page
diff options
context:
space:
mode:
authordavidben <davidben@chromium.org>2014-11-07 15:18:05 -0800
committerCommit bot <commit-bot@chromium.org>2014-11-07 23:18:30 +0000
commit3a92a96b72e14295a4ca6f75a3a3fe29f338dcab (patch)
tree66ef7ddee9a0af55d01c149fc99a752942cac009 /components/error_page
parentb576de2077bf3ca9f76a525f88c934550c5ed350 (diff)
downloadchromium_src-3a92a96b72e14295a4ca6f75a3a3fe29f338dcab.zip
chromium_src-3a92a96b72e14295a4ca6f75a3a3fe29f338dcab.tar.gz
chromium_src-3a92a96b72e14295a4ca6f75a3a3fe29f338dcab.tar.bz2
Don't trigger auto-reload on client auth failures.
Otherwise the user gets repeatedly prompted. BUG=431387 Review URL: https://codereview.chromium.org/707193005 Cr-Commit-Position: refs/heads/master@{#303319}
Diffstat (limited to 'components/error_page')
-rw-r--r--components/error_page/renderer/net_error_helper_core.cc7
-rw-r--r--components/error_page/renderer/net_error_helper_core_unittest.cc6
2 files changed, 13 insertions, 0 deletions
diff --git a/components/error_page/renderer/net_error_helper_core.cc b/components/error_page/renderer/net_error_helper_core.cc
index 74cc14d..9c02e78 100644
--- a/components/error_page/renderer/net_error_helper_core.cc
+++ b/components/error_page/renderer/net_error_helper_core.cc
@@ -433,6 +433,13 @@ bool NetErrorHelperCore::IsReloadableError(
// For now, net::ERR_UNKNOWN_URL_SCHEME is only being displayed on
// Chrome for Android.
info.error.reason != net::ERR_UNKNOWN_URL_SCHEME &&
+ // Do not trigger if the server rejects a client certificate.
+ // https://crbug.com/431387
+ !net::IsClientCertificateError(info.error.reason) &&
+ // Some servers reject client certificates with a generic
+ // handshake_failure alert.
+ // https://crbug.com/431387
+ info.error.reason != net::ERR_SSL_PROTOCOL_ERROR &&
!info.was_failed_post;
}
diff --git a/components/error_page/renderer/net_error_helper_core_unittest.cc b/components/error_page/renderer/net_error_helper_core_unittest.cc
index 0aed025..5015f83 100644
--- a/components/error_page/renderer/net_error_helper_core_unittest.cc
+++ b/components/error_page/renderer/net_error_helper_core_unittest.cc
@@ -2182,6 +2182,12 @@ TEST_F(NetErrorHelperCoreAutoReloadTest, DoesNotReload) {
DoErrorLoad(net::ERR_UNKNOWN_URL_SCHEME);
EXPECT_FALSE(timer()->IsRunning());
+
+ DoErrorLoad(net::ERR_SSL_PROTOCOL_ERROR);
+ EXPECT_FALSE(timer()->IsRunning());
+
+ DoErrorLoad(net::ERR_BAD_SSL_CLIENT_AUTH_CERT);
+ EXPECT_FALSE(timer()->IsRunning());
}
TEST_F(NetErrorHelperCoreAutoReloadTest, ShouldSuppressErrorPage) {