 Chromium Code Reviews
 Chromium Code Reviews Issue 21572002:
  Add UMA entry for intranet SSL warnings  (Closed) 
  Base URL: svn://svn.chromium.org/chrome/trunk/src
    
  
    Issue 21572002:
  Add UMA entry for intranet SSL warnings  (Closed) 
  Base URL: svn://svn.chromium.org/chrome/trunk/src| 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(); |