| 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..af20ed5066e0a4ddb37445f1f16681d3011b7e9e 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/base/net_util.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,8 @@ void RecordSSLBlockingPageTimeStats( | 
| if (proceed) { | 
| RecordSSLBlockingPageEventStats(PROCEED_OVERRIDABLE); | 
| HISTOGRAM_INTERSTITIAL_LARGE_TIME("interstitial.ssl_accept_time", delta); | 
| +    if (internal) | 
| +      RecordSSLBlockingPageEventStats(PROCEED_INTERNAL_HOSTNAME); | 
| } else if (!proceed) { | 
| RecordSSLBlockingPageEventStats(DONT_PROCEED_OVERRIDABLE); | 
| HISTOGRAM_INTERSTITIAL_LARGE_TIME("interstitial.ssl_reject_time", delta); | 
| @@ -180,12 +186,19 @@ 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::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); | 
| @@ -195,10 +208,12 @@ SSLBlockingPage::SSLBlockingPage( | 
|  | 
| SSLBlockingPage::~SSLBlockingPage() { | 
| if (!callback_.is_null()) { | 
| -    RecordSSLBlockingPageTimeStats( | 
| -      false, cert_error_, | 
| -      overridable_ && !strict_enforcement_, display_start_time_, | 
| -      base::TimeTicks::Now()); | 
| +    RecordSSLBlockingPageTimeStats(false, | 
| +                                   cert_error_, | 
| +                                   overridable_ && !strict_enforcement_, | 
| +                                   internal_, | 
| +                                   display_start_time_, | 
| +                                   base::TimeTicks::Now()); | 
| // The page is closed without the user having chosen what to do, default to | 
| // deny. | 
| NotifyDenyCertificate(); | 
| @@ -321,19 +336,23 @@ void SSLBlockingPage::OverrideRendererPrefs( | 
| } | 
|  | 
| void SSLBlockingPage::OnProceed() { | 
| -  RecordSSLBlockingPageTimeStats(true, cert_error_, | 
| -      overridable_ && !strict_enforcement_, display_start_time_, | 
| -      base::TimeTicks::Now()); | 
| - | 
| +  RecordSSLBlockingPageTimeStats(true, | 
| +                                 cert_error_, | 
| +                                 overridable_ && !strict_enforcement_, | 
| +                                 internal_, | 
| +                                 display_start_time_, | 
| +                                 base::TimeTicks::Now()); | 
| // Accepting the certificate resumes the loading of the page. | 
| NotifyAllowCertificate(); | 
| } | 
|  | 
| void SSLBlockingPage::OnDontProceed() { | 
| -  RecordSSLBlockingPageTimeStats(false, cert_error_, | 
| -    overridable_ && !strict_enforcement_, display_start_time_, | 
| -    base::TimeTicks::Now()); | 
| - | 
| +  RecordSSLBlockingPageTimeStats(false, | 
| +                                 cert_error_, | 
| +                                 overridable_ && !strict_enforcement_, | 
| +                                 internal_, | 
| +                                 display_start_time_, | 
| +                                 base::TimeTicks::Now()); | 
| NotifyDenyCertificate(); | 
| } | 
|  | 
|  |