Fix a DCHECK failure in WebsiteSettings::Init()
Replace DCHECK with conditions and set the connection status as
unencrypted, if the security_style is unknown / HTTPS without a
certificate / not HTTPS.
BUG=344891
Review URL: https://codereview.chromium.org/172173004
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@269560 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/chrome/browser/ui/website_settings/website_settings.cc b/chrome/browser/ui/website_settings/website_settings.cc
index d147bb6..0aeb602 100644
--- a/chrome/browser/ui/website_settings/website_settings.cc
+++ b/chrome/browser/ui/website_settings/website_settings.cc
@@ -435,13 +435,18 @@
// weakly encrypted connections.
site_connection_status_ = SITE_CONNECTION_STATUS_UNKNOWN;
- if (!ssl.cert_id) {
- // Not HTTPS.
- DCHECK_EQ(ssl.security_style, content::SECURITY_STYLE_UNAUTHENTICATED);
- if (ssl.security_style == content::SECURITY_STYLE_UNAUTHENTICATED)
- site_connection_status_ = SITE_CONNECTION_STATUS_UNENCRYPTED;
- else
- site_connection_status_ = SITE_CONNECTION_STATUS_ENCRYPTED_ERROR;
+ if (ssl.security_style == content::SECURITY_STYLE_UNKNOWN) {
+ // Page is still loading, so SSL status is not yet available. Say nothing.
+ DCHECK_EQ(ssl.security_bits, -1);
+ site_connection_status_ = SITE_CONNECTION_STATUS_UNENCRYPTED;
+
+ site_connection_details_.assign(l10n_util::GetStringFUTF16(
+ IDS_PAGE_INFO_SECURITY_TAB_NOT_ENCRYPTED_CONNECTION_TEXT,
+ subject_name));
+ } else if (ssl.security_style == content::SECURITY_STYLE_UNAUTHENTICATED) {
+ // HTTPS without a certificate, or not HTTPS.
+ DCHECK(!ssl.cert_id);
+ site_connection_status_ = SITE_CONNECTION_STATUS_UNENCRYPTED;
site_connection_details_.assign(l10n_util::GetStringFUTF16(
IDS_PAGE_INFO_SECURITY_TAB_NOT_ENCRYPTED_CONNECTION_TEXT,