| 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 9bfe34309f3159c95355a36edbedbdd7bc370597..931eb50df16de12064fb874c99d7b5bcf453b776 100644
|
| --- a/chrome/browser/ui/website_settings/website_settings.cc
|
| +++ b/chrome/browser/ui/website_settings/website_settings.cc
|
| @@ -56,7 +56,6 @@
|
| #include "components/strings/grit/components_strings.h"
|
| #include "components/url_formatter/elide_url.h"
|
| #include "content/public/browser/browser_thread.h"
|
| -#include "content/public/browser/cert_store.h"
|
| #include "content/public/browser/permission_type.h"
|
| #include "content/public/browser/user_metrics.h"
|
| #include "content/public/common/content_switches.h"
|
| @@ -253,8 +252,7 @@ WebsiteSettings::WebsiteSettings(
|
| TabSpecificContentSettings* tab_specific_content_settings,
|
| content::WebContents* web_contents,
|
| const GURL& url,
|
| - const SecurityStateModel::SecurityInfo& security_info,
|
| - content::CertStore* cert_store)
|
| + const SecurityStateModel::SecurityInfo& security_info)
|
| : TabSpecificContentSettings::SiteDataObserver(
|
| tab_specific_content_settings),
|
| ui_(ui),
|
| @@ -264,9 +262,7 @@ WebsiteSettings::WebsiteSettings(
|
| show_info_bar_(false),
|
| site_url_(url),
|
| site_identity_status_(SITE_IDENTITY_STATUS_UNKNOWN),
|
| - cert_id_(0),
|
| site_connection_status_(SITE_CONNECTION_STATUS_UNKNOWN),
|
| - cert_store_(cert_store),
|
| content_settings_(HostContentSettingsMapFactory::GetForProfile(profile)),
|
| chrome_ssl_host_state_delegate_(
|
| ChromeSSLHostStateDelegateFactory::GetForProfile(profile)),
|
| @@ -428,12 +424,10 @@ void WebsiteSettings::Init(
|
| }
|
|
|
| // Identity section.
|
| - scoped_refptr<net::X509Certificate> cert;
|
| - cert_id_ = security_info.cert_id;
|
| + certificate_ = security_info.certificate;
|
|
|
| // HTTPS with no or minor errors.
|
| - if (security_info.cert_id &&
|
| - cert_store_->RetrieveCert(security_info.cert_id, &cert) &&
|
| + if (certificate_ &&
|
| (!net::IsCertStatusError(security_info.cert_status) ||
|
| net::IsCertStatusMinorError(security_info.cert_status))) {
|
| // There are no major errors. Check for minor errors.
|
| @@ -444,7 +438,8 @@ void WebsiteSettings::Init(
|
| IDS_CERT_POLICY_PROVIDED_CERT_MESSAGE, UTF8ToUTF16(url.host()));
|
| } else if (net::IsCertStatusMinorError(security_info.cert_status)) {
|
| site_identity_status_ = SITE_IDENTITY_STATUS_CERT_REVOCATION_UNKNOWN;
|
| - base::string16 issuer_name(UTF8ToUTF16(cert->issuer().GetDisplayName()));
|
| + base::string16 issuer_name(
|
| + UTF8ToUTF16(certificate_->issuer().GetDisplayName()));
|
| if (issuer_name.empty()) {
|
| issuer_name.assign(l10n_util::GetStringUTF16(
|
| IDS_PAGE_INFO_SECURITY_TAB_UNKNOWN_PARTY));
|
| @@ -472,37 +467,39 @@ void WebsiteSettings::Init(
|
| // EV HTTPS page.
|
| site_identity_status_ = GetSiteIdentityStatusByCTInfo(
|
| security_info.sct_verify_statuses, true);
|
| - DCHECK(!cert->subject().organization_names.empty());
|
| - organization_name_ = UTF8ToUTF16(cert->subject().organization_names[0]);
|
| + DCHECK(!certificate_->subject().organization_names.empty());
|
| + organization_name_ =
|
| + UTF8ToUTF16(certificate_->subject().organization_names[0]);
|
| // An EV Cert is required to have a city (localityName) and country but
|
| // state is "if any".
|
| - DCHECK(!cert->subject().locality_name.empty());
|
| - DCHECK(!cert->subject().country_name.empty());
|
| + DCHECK(!certificate_->subject().locality_name.empty());
|
| + DCHECK(!certificate_->subject().country_name.empty());
|
| base::string16 locality;
|
| - if (!cert->subject().state_or_province_name.empty()) {
|
| + if (!certificate_->subject().state_or_province_name.empty()) {
|
| locality = l10n_util::GetStringFUTF16(
|
| IDS_PAGEINFO_ADDRESS,
|
| - UTF8ToUTF16(cert->subject().locality_name),
|
| - UTF8ToUTF16(cert->subject().state_or_province_name),
|
| - UTF8ToUTF16(cert->subject().country_name));
|
| + UTF8ToUTF16(certificate_->subject().locality_name),
|
| + UTF8ToUTF16(certificate_->subject().state_or_province_name),
|
| + UTF8ToUTF16(certificate_->subject().country_name));
|
| } else {
|
| locality = l10n_util::GetStringFUTF16(
|
| IDS_PAGEINFO_PARTIAL_ADDRESS,
|
| - UTF8ToUTF16(cert->subject().locality_name),
|
| - UTF8ToUTF16(cert->subject().country_name));
|
| + UTF8ToUTF16(certificate_->subject().locality_name),
|
| + UTF8ToUTF16(certificate_->subject().country_name));
|
| }
|
| - DCHECK(!cert->subject().organization_names.empty());
|
| + DCHECK(!certificate_->subject().organization_names.empty());
|
| site_identity_details_.assign(l10n_util::GetStringFUTF16(
|
| GetSiteIdentityDetailsMessageByCTInfo(
|
| security_info.sct_verify_statuses, true /* is EV */),
|
| - UTF8ToUTF16(cert->subject().organization_names[0]), locality,
|
| - UTF8ToUTF16(cert->issuer().GetDisplayName())));
|
| + UTF8ToUTF16(certificate_->subject().organization_names[0]),
|
| + locality,
|
| + UTF8ToUTF16(certificate_->issuer().GetDisplayName())));
|
| } else {
|
| // Non-EV OK HTTPS page.
|
| site_identity_status_ = GetSiteIdentityStatusByCTInfo(
|
| security_info.sct_verify_statuses, false);
|
| base::string16 issuer_name(
|
| - UTF8ToUTF16(cert->issuer().GetDisplayName()));
|
| + UTF8ToUTF16(certificate_->issuer().GetDisplayName()));
|
| if (issuer_name.empty()) {
|
| issuer_name.assign(l10n_util::GetStringUTF16(
|
| IDS_PAGE_INFO_SECURITY_TAB_UNKNOWN_PARTY));
|
| @@ -544,7 +541,7 @@ void WebsiteSettings::Init(
|
| // HTTP or HTTPS with errors (not warnings).
|
| site_identity_details_.assign(l10n_util::GetStringUTF16(
|
| IDS_PAGE_INFO_SECURITY_TAB_INSECURE_IDENTITY));
|
| - if (!security_info.scheme_is_cryptographic || !security_info.cert_id)
|
| + if (!security_info.scheme_is_cryptographic || !security_info.certificate)
|
| site_identity_status_ = SITE_IDENTITY_STATUS_NO_CERT;
|
| else
|
| site_identity_status_ = SITE_IDENTITY_STATUS_ERROR;
|
| @@ -552,7 +549,7 @@ void WebsiteSettings::Init(
|
| const base::string16 bullet = UTF8ToUTF16("\n • ");
|
| std::vector<ssl_errors::ErrorInfo> errors;
|
| ssl_errors::ErrorInfo::GetErrorsForCertStatus(
|
| - cert, security_info.cert_status, url, &errors);
|
| + certificate_, security_info.cert_status, url, &errors);
|
| for (size_t i = 0; i < errors.size(); ++i) {
|
| site_identity_details_ += bullet;
|
| site_identity_details_ += errors[i].short_description();
|
| @@ -577,7 +574,7 @@ void WebsiteSettings::Init(
|
| l10n_util::GetStringUTF16(IDS_PAGE_INFO_SECURITY_TAB_UNKNOWN_PARTY));
|
| }
|
|
|
| - if (!security_info.cert_id || !security_info.scheme_is_cryptographic) {
|
| + if (!security_info.certificate || !security_info.scheme_is_cryptographic) {
|
| // Page is still loading (so SSL status is not yet available) or
|
| // loaded over HTTP or loaded over HTTPS with no cert.
|
| site_connection_status_ = SITE_CONNECTION_STATUS_UNENCRYPTED;
|
| @@ -813,7 +810,7 @@ void WebsiteSettings::PresentSiteIdentity() {
|
| info.identity_status = site_identity_status_;
|
| info.identity_status_description =
|
| UTF16ToUTF8(site_identity_details_);
|
| - info.cert_id = cert_id_;
|
| + info.certificate = certificate_;
|
| info.show_ssl_decision_revoke_button = show_ssl_decision_revoke_button_;
|
| ui_->SetIdentityInfo(info);
|
| }
|
|
|