Chromium Code Reviews| Index: chrome/browser/ui/website_settings/website_settings.cc |
| diff --git a/chrome/browser/ui/website_settings/website_settings.cc b/chrome/browser/ui/website_settings/website_settings.cc |
| index 2e6df2ff648b8ffca58c62ce228a813f1916572f..2222657fd9f09dbd87624396241f3c537158d68b 100644 |
| --- a/chrome/browser/ui/website_settings/website_settings.cc |
| +++ b/chrome/browser/ui/website_settings/website_settings.cc |
| @@ -175,6 +175,35 @@ void CheckForInsecureContent( |
| ran); |
| } |
| +void GetSiteIdentityByMaliciousContentStatus( |
| + security_state::SecurityStateModel::MaliciousContentStatus |
| + malicious_content_status, |
| + WebsiteSettings::SiteIdentityStatus* status, |
| + base::string16* details) { |
| + switch (malicious_content_status) { |
| + case security_state::SecurityStateModel::MALICIOUS_CONTENT_STATUS_NONE: |
| + NOTREACHED(); |
| + break; |
| + case security_state::SecurityStateModel::MALICIOUS_CONTENT_STATUS_MALWARE: |
| + *status = WebsiteSettings::SITE_IDENTITY_STATUS_MALWARE; |
| + *details = |
| + l10n_util::GetStringUTF16(IDS_WEBSITE_SETTINGS_MALWARE_DETAILS); |
| + break; |
| + case security_state::SecurityStateModel:: |
| + MALICIOUS_CONTENT_STATUS_SOCIAL_ENGINEERING: |
| + *status = WebsiteSettings::SITE_IDENTITY_STATUS_SOCIAL_ENGINEERING; |
| + *details = l10n_util::GetStringUTF16( |
| + IDS_WEBSITE_SETTINGS_SOCIAL_ENGINEERING_DETAILS); |
| + break; |
| + case security_state::SecurityStateModel:: |
| + MALICIOUS_CONTENT_STATUS_UNWANTED_SOFTWARE: |
| + *status = WebsiteSettings::SITE_IDENTITY_STATUS_UNWANTED_SOFTWARE; |
| + *details = l10n_util::GetStringUTF16( |
| + IDS_WEBSITE_SETTINGS_UNWANTED_SOFTWARE_DETAILS); |
| + break; |
| + } |
| +} |
| + |
| // Returns true if any of the given statuses match |status|. |
| bool CertificateTransparencyStatusMatchAny( |
| const std::vector<net::ct::SCTVerifyStatus>& sct_verify_statuses, |
| @@ -454,11 +483,16 @@ void WebsiteSettings::Init( |
| // Identity section. |
| certificate_ = security_info.certificate; |
| - // HTTPS with no or minor errors. |
| - if (certificate_ && |
| - (!net::IsCertStatusError(security_info.cert_status) || |
| - net::IsCertStatusMinorError(security_info.cert_status))) { |
| - // There are no major errors. Check for minor errors. |
| + if (security_info.malicious_content_status != |
| + security_state::SecurityStateModel::MALICIOUS_CONTENT_STATUS_NONE) { |
| + // The site has been flagged by Safe Browsing as dangerous. |
| + GetSiteIdentityByMaliciousContentStatus( |
| + security_info.malicious_content_status, &site_identity_status_, |
| + &site_identity_details_); |
|
estark
2016/11/11 22:22:15
I don't 100% understand what's going on here with
lgarron
2016/11/11 22:39:01
Yeah, the identity/connection split is legacy code
|
| + } else if (certificate_ && |
| + (!net::IsCertStatusError(security_info.cert_status) || |
| + net::IsCertStatusMinorError(security_info.cert_status))) { |
| + // HTTPS with no or minor errors. |
| if (security_info.security_level == |
| SecurityStateModel::SECURE_WITH_POLICY_INSTALLED_CERT) { |
| site_identity_status_ = SITE_IDENTITY_STATUS_ADMIN_PROVIDED_CERT; |