| 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 b78e6440d6ddfb1cd240d6415e52e7e8a7b5ad45..c895a5c73b47aab5bbbbe64593e630cbbdca03f6 100644
|
| --- a/chrome/browser/ui/website_settings/website_settings.cc
|
| +++ b/chrome/browser/ui/website_settings/website_settings.cc
|
| @@ -61,6 +61,13 @@ using content::BrowserThread;
|
|
|
| namespace {
|
|
|
| +// Events for UMA. Do not reorder or change!
|
| +enum SSLCertificateDecisionsDidRevoke {
|
| + USER_CERT_DECISIONS_NOT_REVOKED = 0,
|
| + USER_CERT_DECISIONS_REVOKED,
|
| + END_OF_SSL_CERTIFICATE_DECISIONS_DID_REVOKE_ENUM
|
| +};
|
| +
|
| // The list of content settings types to display on the Website Settings UI.
|
| ContentSettingsType kPermissionType[] = {
|
| CONTENT_SETTINGS_TYPE_IMAGES,
|
| @@ -174,7 +181,8 @@ WebsiteSettings::WebsiteSettings(
|
| cert_store_(cert_store),
|
| content_settings_(profile->GetHostContentSettingsMap()),
|
| chrome_ssl_host_state_delegate_(
|
| - ChromeSSLHostStateDelegateFactory::GetForProfile(profile)) {
|
| + ChromeSSLHostStateDelegateFactory::GetForProfile(profile)),
|
| + did_revoke_user_ssl_decisions_(false) {
|
| Init(profile, url, ssl);
|
|
|
| HistoryService* history_service = HistoryServiceFactory::GetForProfile(
|
| @@ -308,6 +316,20 @@ void WebsiteSettings::OnSiteDataAccessed() {
|
| void WebsiteSettings::OnUIClosing() {
|
| if (show_info_bar_)
|
| WebsiteSettingsInfoBarDelegate::Create(infobar_service_);
|
| +
|
| + SSLCertificateDecisionsDidRevoke user_decision =
|
| + did_revoke_user_ssl_decisions_ ? USER_CERT_DECISIONS_REVOKED
|
| + : USER_CERT_DECISIONS_NOT_REVOKED;
|
| +
|
| + UMA_HISTOGRAM_ENUMERATION("interstitial.ssl.did_user_revoke_decisions",
|
| + user_decision,
|
| + END_OF_SSL_CERTIFICATE_DECISIONS_DID_REVOKE_ENUM);
|
| +}
|
| +
|
| +void WebsiteSettings::OnRevokeSSLErrorBypassButtonPressed() {
|
| + DCHECK(chrome_ssl_host_state_delegate_);
|
| + chrome_ssl_host_state_delegate_->RevokeUserDecisionsHard(site_url().host());
|
| + did_revoke_user_ssl_decisions_ = true;
|
| }
|
|
|
| void WebsiteSettings::Init(Profile* profile,
|
|
|