Chromium Code Reviews| Index: chrome/browser/ssl/ssl_blocking_page.cc |
| diff --git a/chrome/browser/ssl/ssl_blocking_page.cc b/chrome/browser/ssl/ssl_blocking_page.cc |
| index 5b45b3564b8caa5db5272740e053e82c4856108c..8b5da1f5e75386d037e088211d549c9fcef34f17 100644 |
| --- a/chrome/browser/ssl/ssl_blocking_page.cc |
| +++ b/chrome/browser/ssl/ssl_blocking_page.cc |
| @@ -29,6 +29,7 @@ |
| #include "grit/browser_resources.h" |
| #include "grit/generated_resources.h" |
| #include "net/base/net_errors.h" |
| +#include "net/cert/cert_verify_proc.h" |
| #include "ui/base/l10n/l10n_util.h" |
| #include "ui/base/resource/resource_bundle.h" |
| #include "ui/webui/jstemplate_builder.h" |
| @@ -82,6 +83,8 @@ enum SSLBlockingPageEvent { |
| DONT_PROCEED_AUTHORITY, |
| MORE, |
| SHOW_UNDERSTAND, |
| + SHOW_INTERNAL_HOSTNAME, |
| + PROCEED_INTERNAL_HOSTNAME, |
| UNUSED_BLOCKING_PAGE_EVENT, |
| }; |
| @@ -95,6 +98,7 @@ void RecordSSLBlockingPageTimeStats( |
| bool proceed, |
| int cert_error, |
| bool overridable, |
| + bool internal, |
| const base::TimeTicks& start_time, |
| const base::TimeTicks& end_time) { |
| UMA_HISTOGRAM_ENUMERATION("interstitial.ssl_error_type", |
| @@ -110,6 +114,7 @@ void RecordSSLBlockingPageTimeStats( |
| if (proceed) { |
| RecordSSLBlockingPageEventStats(PROCEED_OVERRIDABLE); |
| HISTOGRAM_INTERSTITIAL_LARGE_TIME("interstitial.ssl_accept_time", delta); |
| + if (internal) RecordSSLBlockingPageEventStats(PROCEED_INTERNAL_HOSTNAME); |
|
Ryan Sleevi
2013/08/01 17:36:15
Not recording reject for internals?
On a style ni
felt
2013/08/01 19:00:28
We don't need to; SHOW - PROCEED = REJECT. We can
|
| } else if (!proceed) { |
| RecordSSLBlockingPageEventStats(DONT_PROCEED_OVERRIDABLE); |
| HISTOGRAM_INTERSTITIAL_LARGE_TIME("interstitial.ssl_reject_time", delta); |
| @@ -180,12 +185,18 @@ SSLBlockingPage::SSLBlockingPage( |
| ssl_info_(ssl_info), |
| request_url_(request_url), |
| overridable_(overridable), |
| - strict_enforcement_(strict_enforcement) { |
| + strict_enforcement_(strict_enforcement), |
| + internal_(false) { |
| trialCondition_ = base::FieldTrialList::FindFullName(kStudyName); |
| + if (net::CertVerifyProc::IsHostnameNonUnique(request_url_.HostNoBrackets())) |
| + internal_ = true; |
| + |
| RecordSSLBlockingPageEventStats(SHOW_ALL); |
| - if (overridable_ && !strict_enforcement_) |
| + if (overridable_ && !strict_enforcement_) { |
| RecordSSLBlockingPageEventStats(SHOW_OVERRIDABLE); |
| + if (internal_) RecordSSLBlockingPageEventStats(SHOW_INTERNAL_HOSTNAME); |
| + } |
| interstitial_page_ = InterstitialPage::Create( |
| web_contents_, true, request_url, this); |
| @@ -197,7 +208,7 @@ SSLBlockingPage::~SSLBlockingPage() { |
| if (!callback_.is_null()) { |
| RecordSSLBlockingPageTimeStats( |
| false, cert_error_, |
| - overridable_ && !strict_enforcement_, display_start_time_, |
| + overridable_ && !strict_enforcement_, internal_, display_start_time_, |
| base::TimeTicks::Now()); |
|
Ryan Sleevi
2013/08/01 17:36:15
style: Can you clang-format / style guide format t
felt
2013/08/01 19:00:28
Done, substantially less ugly now.
|
| // The page is closed without the user having chosen what to do, default to |
| // deny. |
| @@ -322,7 +333,7 @@ void SSLBlockingPage::OverrideRendererPrefs( |
| void SSLBlockingPage::OnProceed() { |
| RecordSSLBlockingPageTimeStats(true, cert_error_, |
| - overridable_ && !strict_enforcement_, display_start_time_, |
| + overridable_ && !strict_enforcement_, internal_, display_start_time_, |
| base::TimeTicks::Now()); |
| // Accepting the certificate resumes the loading of the page. |
| @@ -331,7 +342,7 @@ void SSLBlockingPage::OnProceed() { |
| void SSLBlockingPage::OnDontProceed() { |
| RecordSSLBlockingPageTimeStats(false, cert_error_, |
| - overridable_ && !strict_enforcement_, display_start_time_, |
| + overridable_ && !strict_enforcement_, internal_, display_start_time_, |
| base::TimeTicks::Now()); |
| NotifyDenyCertificate(); |