Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "chrome/browser/ui/website_settings/website_settings.h" | 5 #include "chrome/browser/ui/website_settings/website_settings.h" |
| 6 | 6 |
| 7 #include <string> | 7 #include <string> |
| 8 #include <vector> | 8 #include <vector> |
| 9 | 9 |
| 10 #include "base/bind.h" | 10 #include "base/bind.h" |
| (...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 54 #include "chrome/browser/chromeos/policy/policy_cert_service_factory.h" | 54 #include "chrome/browser/chromeos/policy/policy_cert_service_factory.h" |
| 55 #endif | 55 #endif |
| 56 | 56 |
| 57 using base::ASCIIToUTF16; | 57 using base::ASCIIToUTF16; |
| 58 using base::UTF8ToUTF16; | 58 using base::UTF8ToUTF16; |
| 59 using base::UTF16ToUTF8; | 59 using base::UTF16ToUTF8; |
| 60 using content::BrowserThread; | 60 using content::BrowserThread; |
| 61 | 61 |
| 62 namespace { | 62 namespace { |
| 63 | 63 |
| 64 // Events for UMA. Do not reorder or change! | |
| 65 enum SSLCertificateDecisionsDidRevoke { | |
| 66 USER_CERT_DECISIONS_NOT_REVOKED = 0, | |
| 67 USER_CERT_DECISIONS_REVOKED, | |
| 68 END_OF_SSL_CERTIFICATE_DECISIONS_DID_REVOKE_ENUM | |
| 69 }; | |
| 70 | |
| 64 // The list of content settings types to display on the Website Settings UI. | 71 // The list of content settings types to display on the Website Settings UI. |
| 65 ContentSettingsType kPermissionType[] = { | 72 ContentSettingsType kPermissionType[] = { |
| 66 CONTENT_SETTINGS_TYPE_IMAGES, | 73 CONTENT_SETTINGS_TYPE_IMAGES, |
| 67 CONTENT_SETTINGS_TYPE_JAVASCRIPT, | 74 CONTENT_SETTINGS_TYPE_JAVASCRIPT, |
| 68 CONTENT_SETTINGS_TYPE_PLUGINS, | 75 CONTENT_SETTINGS_TYPE_PLUGINS, |
| 69 CONTENT_SETTINGS_TYPE_POPUPS, | 76 CONTENT_SETTINGS_TYPE_POPUPS, |
| 70 CONTENT_SETTINGS_TYPE_GEOLOCATION, | 77 CONTENT_SETTINGS_TYPE_GEOLOCATION, |
| 71 CONTENT_SETTINGS_TYPE_NOTIFICATIONS, | 78 CONTENT_SETTINGS_TYPE_NOTIFICATIONS, |
| 72 CONTENT_SETTINGS_TYPE_FULLSCREEN, | 79 CONTENT_SETTINGS_TYPE_FULLSCREEN, |
| 73 CONTENT_SETTINGS_TYPE_MOUSELOCK, | 80 CONTENT_SETTINGS_TYPE_MOUSELOCK, |
| (...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 167 ui_(ui), | 174 ui_(ui), |
| 168 infobar_service_(infobar_service), | 175 infobar_service_(infobar_service), |
| 169 show_info_bar_(false), | 176 show_info_bar_(false), |
| 170 site_url_(url), | 177 site_url_(url), |
| 171 site_identity_status_(SITE_IDENTITY_STATUS_UNKNOWN), | 178 site_identity_status_(SITE_IDENTITY_STATUS_UNKNOWN), |
| 172 cert_id_(0), | 179 cert_id_(0), |
| 173 site_connection_status_(SITE_CONNECTION_STATUS_UNKNOWN), | 180 site_connection_status_(SITE_CONNECTION_STATUS_UNKNOWN), |
| 174 cert_store_(cert_store), | 181 cert_store_(cert_store), |
| 175 content_settings_(profile->GetHostContentSettingsMap()), | 182 content_settings_(profile->GetHostContentSettingsMap()), |
| 176 chrome_ssl_host_state_delegate_( | 183 chrome_ssl_host_state_delegate_( |
| 177 ChromeSSLHostStateDelegateFactory::GetForProfile(profile)) { | 184 ChromeSSLHostStateDelegateFactory::GetForProfile(profile)), |
| 185 did_revoke_user_ssl_decisions_(false) { | |
| 178 Init(profile, url, ssl); | 186 Init(profile, url, ssl); |
| 179 | 187 |
| 180 HistoryService* history_service = HistoryServiceFactory::GetForProfile( | 188 HistoryService* history_service = HistoryServiceFactory::GetForProfile( |
| 181 profile, Profile::EXPLICIT_ACCESS); | 189 profile, Profile::EXPLICIT_ACCESS); |
| 182 if (history_service) { | 190 if (history_service) { |
| 183 history_service->GetVisibleVisitCountToHost( | 191 history_service->GetVisibleVisitCountToHost( |
| 184 site_url_, | 192 site_url_, |
| 185 base::Bind(&WebsiteSettings::OnGotVisitCountToHost, | 193 base::Bind(&WebsiteSettings::OnGotVisitCountToHost, |
| 186 base::Unretained(this)), | 194 base::Unretained(this)), |
| 187 &visit_count_task_tracker_); | 195 &visit_count_task_tracker_); |
| (...skipping 126 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 314 PresentHistoryInfo(first_visit); | 322 PresentHistoryInfo(first_visit); |
| 315 } | 323 } |
| 316 | 324 |
| 317 void WebsiteSettings::OnSiteDataAccessed() { | 325 void WebsiteSettings::OnSiteDataAccessed() { |
| 318 PresentSiteData(); | 326 PresentSiteData(); |
| 319 } | 327 } |
| 320 | 328 |
| 321 void WebsiteSettings::OnUIClosing() { | 329 void WebsiteSettings::OnUIClosing() { |
| 322 if (show_info_bar_) | 330 if (show_info_bar_) |
| 323 WebsiteSettingsInfoBarDelegate::Create(infobar_service_); | 331 WebsiteSettingsInfoBarDelegate::Create(infobar_service_); |
| 332 | |
| 333 SSLCertificateDecisionsDidRevoke user_decision = | |
| 334 did_revoke_user_ssl_decisions_ ? USER_CERT_DECISIONS_REVOKED | |
| 335 : USER_CERT_DECISIONS_NOT_REVOKED; | |
|
Peter Kasting
2014/08/22 22:44:00
Nit: clang-format error; wrap like:
did_rev
jww
2014/08/22 22:56:39
I'm going to push back on this. This instance was
Peter Kasting
2014/08/22 23:02:22
It's a nit, so you can override me. And being con
| |
| 336 | |
| 337 UMA_HISTOGRAM_ENUMERATION("interstitial.ssl.did_user_revoke_decisions", | |
| 338 user_decision, | |
| 339 END_OF_SSL_CERTIFICATE_DECISIONS_DID_REVOKE_ENUM); | |
| 340 } | |
| 341 | |
| 342 void WebsiteSettings::OnSSLDecisionsRevokeButtonPressed() { | |
| 343 DCHECK(chrome_ssl_host_state_delegate_); | |
| 344 chrome_ssl_host_state_delegate_->RevokeUserDecisionsHard(site_url().host()); | |
| 345 did_revoke_user_ssl_decisions_ = true; | |
| 324 } | 346 } |
| 325 | 347 |
| 326 void WebsiteSettings::Init(Profile* profile, | 348 void WebsiteSettings::Init(Profile* profile, |
| 327 const GURL& url, | 349 const GURL& url, |
| 328 const content::SSLStatus& ssl) { | 350 const content::SSLStatus& ssl) { |
| 329 if (url.SchemeIs(content::kChromeUIScheme)) { | 351 if (url.SchemeIs(content::kChromeUIScheme)) { |
| 330 site_identity_status_ = SITE_IDENTITY_STATUS_INTERNAL_PAGE; | 352 site_identity_status_ = SITE_IDENTITY_STATUS_INTERNAL_PAGE; |
| 331 site_identity_details_ = | 353 site_identity_details_ = |
| 332 l10n_util::GetStringUTF16(IDS_PAGE_INFO_INTERNAL_PAGE); | 354 l10n_util::GetStringUTF16(IDS_PAGE_INFO_INTERNAL_PAGE); |
| 333 site_connection_status_ = SITE_CONNECTION_STATUS_INTERNAL_PAGE; | 355 site_connection_status_ = SITE_CONNECTION_STATUS_INTERNAL_PAGE; |
| (...skipping 394 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 728 if (visited_before_today) { | 750 if (visited_before_today) { |
| 729 first_visit_text = l10n_util::GetStringFUTF16( | 751 first_visit_text = l10n_util::GetStringFUTF16( |
| 730 IDS_PAGE_INFO_SECURITY_TAB_VISITED_BEFORE_TODAY, | 752 IDS_PAGE_INFO_SECURITY_TAB_VISITED_BEFORE_TODAY, |
| 731 base::TimeFormatShortDate(first_visit)); | 753 base::TimeFormatShortDate(first_visit)); |
| 732 } else { | 754 } else { |
| 733 first_visit_text = l10n_util::GetStringUTF16( | 755 first_visit_text = l10n_util::GetStringUTF16( |
| 734 IDS_PAGE_INFO_SECURITY_TAB_FIRST_VISITED_TODAY); | 756 IDS_PAGE_INFO_SECURITY_TAB_FIRST_VISITED_TODAY); |
| 735 } | 757 } |
| 736 ui_->SetFirstVisit(first_visit_text); | 758 ui_->SetFirstVisit(first_visit_text); |
| 737 } | 759 } |
| OLD | NEW |