Commit 89e8120b authored by Emily Stark's avatar Emily Stark Committed by Commit Bot

Split out recurrent error metrics for CT errors specifically

This will allow us to see whether the recurrent interstitial message affects CTR
for CT errors specifically (rather than lumping them in with Symantec distrust
errors, which can also trigger the recurrent error message).

Bug: 839969
Change-Id: I04764573c6f225ab25c61fb268983f02f38fdc3f
Reviewed-on: https://chromium-review.googlesource.com/1136717Reviewed-by: default avatarChristopher Thompson <cthomp@chromium.org>
Reviewed-by: default avatarRobert Kaplow (slow) <rkaplow@chromium.org>
Commit-Queue: Emily Stark <estark@chromium.org>
Cr-Commit-Position: refs/heads/master@{#575056}
parent 79fb092c
...@@ -95,9 +95,19 @@ SSLBlockingPage* SSLBlockingPage::Create( ...@@ -95,9 +95,19 @@ SSLBlockingPage* SSLBlockingPage::Create(
if (overridable) { if (overridable) {
UMA_HISTOGRAM_BOOLEAN("interstitial.ssl_overridable.is_recurrent_error", UMA_HISTOGRAM_BOOLEAN("interstitial.ssl_overridable.is_recurrent_error",
is_recurrent_error); is_recurrent_error);
if (cert_error == net::ERR_CERTIFICATE_TRANSPARENCY_REQUIRED) {
UMA_HISTOGRAM_BOOLEAN(
"interstitial.ssl_overridable.is_recurrent_error.ct_error",
is_recurrent_error);
}
} else { } else {
UMA_HISTOGRAM_BOOLEAN("interstitial.ssl_nonoverridable.is_recurrent_error", UMA_HISTOGRAM_BOOLEAN("interstitial.ssl_nonoverridable.is_recurrent_error",
is_recurrent_error); is_recurrent_error);
if (cert_error == net::ERR_CERTIFICATE_TRANSPARENCY_REQUIRED) {
UMA_HISTOGRAM_BOOLEAN(
"interstitial.ssl_nonoverridable.is_recurrent_error.ct_error",
is_recurrent_error);
}
} }
return new SSLBlockingPage(web_contents, cert_error, ssl_info, request_url, return new SSLBlockingPage(web_contents, cert_error, ssl_info, request_url,
......
...@@ -53,8 +53,13 @@ using content::Referrer; ...@@ -53,8 +53,13 @@ using content::Referrer;
namespace { namespace {
void RecordRecurrentErrorAction( void RecordRecurrentErrorAction(
SSLErrorControllerClient::RecurrentErrorAction action) { SSLErrorControllerClient::RecurrentErrorAction action,
int cert_error) {
UMA_HISTOGRAM_ENUMERATION("interstitial.ssl_recurrent_error.action", action); UMA_HISTOGRAM_ENUMERATION("interstitial.ssl_recurrent_error.action", action);
if (cert_error == net::ERR_CERTIFICATE_TRANSPARENCY_REQUIRED) {
UMA_HISTOGRAM_ENUMERATION(
"interstitial.ssl_recurrent_error.ct_error.action", action);
}
} }
bool HasSeenRecurrentErrorInternal(content::WebContents* web_contents, bool HasSeenRecurrentErrorInternal(content::WebContents* web_contents,
...@@ -164,7 +169,7 @@ SSLErrorControllerClient::SSLErrorControllerClient( ...@@ -164,7 +169,7 @@ SSLErrorControllerClient::SSLErrorControllerClient(
request_url_(request_url), request_url_(request_url),
cert_error_(cert_error) { cert_error_(cert_error) {
if (HasSeenRecurrentErrorInternal(web_contents_, cert_error_)) { if (HasSeenRecurrentErrorInternal(web_contents_, cert_error_)) {
RecordRecurrentErrorAction(RecurrentErrorAction::kShow); RecordRecurrentErrorAction(RecurrentErrorAction::kShow, cert_error_);
} }
} }
...@@ -181,7 +186,7 @@ void SSLErrorControllerClient::GoBack() { ...@@ -181,7 +186,7 @@ void SSLErrorControllerClient::GoBack() {
void SSLErrorControllerClient::Proceed() { void SSLErrorControllerClient::Proceed() {
if (HasSeenRecurrentErrorInternal(web_contents_, cert_error_)) { if (HasSeenRecurrentErrorInternal(web_contents_, cert_error_)) {
RecordRecurrentErrorAction(RecurrentErrorAction::kProceed); RecordRecurrentErrorAction(RecurrentErrorAction::kProceed, cert_error_);
} }
MaybeTriggerSecurityInterstitialProceededEvent(web_contents_, request_url_, MaybeTriggerSecurityInterstitialProceededEvent(web_contents_, request_url_,
......
...@@ -36540,6 +36540,17 @@ uploading your change for review. ...@@ -36540,6 +36540,17 @@ uploading your change for review.
</summary> </summary>
</histogram> </histogram>
<histogram name="interstitial.ssl_nonoverridable.is_recurrent_error.ct_error"
enum="BooleanRecurrentError" expires_after="M71">
<owner>estark@chromium.org</owner>
<summary>
Recorded when a non-overridable SSL interstitial is shown for a Certificate
Transparency error. The value is true if the user has seen the same error
multiple times (in which case a special message is added to the
interstitial).
</summary>
</histogram>
<histogram name="interstitial.ssl_overridable.is_recurrent_error" <histogram name="interstitial.ssl_overridable.is_recurrent_error"
enum="BooleanRecurrentError" expires_after="M71"> enum="BooleanRecurrentError" expires_after="M71">
<owner>estark@chromium.org</owner> <owner>estark@chromium.org</owner>
...@@ -36550,6 +36561,17 @@ uploading your change for review. ...@@ -36550,6 +36561,17 @@ uploading your change for review.
</summary> </summary>
</histogram> </histogram>
<histogram name="interstitial.ssl_overridable.is_recurrent_error.ct_error"
enum="BooleanRecurrentError" expires_after="M71">
<owner>estark@chromium.org</owner>
<summary>
Recorded when an overridable SSL interstitial is shown for a Certificate
Transparency error. The value is true if the user has seen the same error
multiple times (in which case a special message is added to the
interstitial).
</summary>
</histogram>
<histogram name="interstitial.ssl_recurrent_error.action" <histogram name="interstitial.ssl_recurrent_error.action"
enum="RecurrentErrorAction" expires_after="M71"> enum="RecurrentErrorAction" expires_after="M71">
<owner>estark@chromium.org</owner> <owner>estark@chromium.org</owner>
...@@ -36560,6 +36582,16 @@ uploading your change for review. ...@@ -36560,6 +36582,16 @@ uploading your change for review.
</summary> </summary>
</histogram> </histogram>
<histogram name="interstitial.ssl_recurrent_error.ct_error.action"
enum="RecurrentErrorAction" expires_after="M71">
<owner>estark@chromium.org</owner>
<summary>
Recorded whenever the user sees or proceeds through an SSL interstitial for
a Certificate Transparency error that the user has seen multiple times (in
which case a special message is added to the interstitial).
</summary>
</histogram>
<histogram name="interstitial.ssl_reject_time" units="ms"> <histogram name="interstitial.ssl_reject_time" units="ms">
<obsolete> <obsolete>
Removed on 8/1/13. Removed on 8/1/13.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment