Bug 767676 - Implement Security UI Telemetry. r=honzab,bsmith,felipc,dtownsend
This commit is contained in:
@@ -192,6 +192,9 @@
|
||||
#include "mozilla/StartupTimeline.h"
|
||||
#include "nsIFrameMessageManager.h"
|
||||
|
||||
#include "mozilla/Telemetry.h"
|
||||
#include "nsISecurityUITelemetry.h"
|
||||
|
||||
static NS_DEFINE_CID(kDOMScriptObjectFactoryCID,
|
||||
NS_DOM_SCRIPT_OBJECT_FACTORY_CID);
|
||||
static NS_DEFINE_CID(kAppShellCID, NS_APPSHELL_CID);
|
||||
@@ -4040,8 +4043,16 @@ nsDocShell::DisplayLoadError(nsresult aError, nsIURI *aURI,
|
||||
rv = stss->IsStsURI(aURI, &isStsHost);
|
||||
NS_ENSURE_SUCCESS(rv, rv);
|
||||
|
||||
if (isStsHost)
|
||||
PRUint32 bucketId;
|
||||
if (isStsHost) {
|
||||
cssClass.AssignLiteral("badStsCert");
|
||||
//measuring STS separately allows us to measure click through
|
||||
//rates easily
|
||||
bucketId = nsISecurityUITelemetry::WARNING_BAD_CERT_STS;
|
||||
} else {
|
||||
bucketId = nsISecurityUITelemetry::WARNING_BAD_CERT;
|
||||
}
|
||||
|
||||
|
||||
if (Preferences::GetBool(
|
||||
"browser.xul.error_pages.expert_bad_cert", false)) {
|
||||
@@ -4054,6 +4065,10 @@ nsDocShell::DisplayLoadError(nsresult aError, nsIURI *aURI,
|
||||
"security.alternate_certificate_error_page");
|
||||
if (alternateErrorPage)
|
||||
errorPage.Assign(alternateErrorPage);
|
||||
|
||||
if (errorPage.EqualsIgnoreCase("certerror"))
|
||||
mozilla::Telemetry::Accumulate(mozilla::Telemetry::SECURITY_UI, bucketId);
|
||||
|
||||
} else {
|
||||
error.AssignLiteral("nssFailure2");
|
||||
}
|
||||
@@ -4071,10 +4086,19 @@ nsDocShell::DisplayLoadError(nsresult aError, nsIURI *aURI,
|
||||
if (alternateErrorPage)
|
||||
errorPage.Assign(alternateErrorPage);
|
||||
|
||||
if (NS_ERROR_PHISHING_URI == aError)
|
||||
PRUint32 bucketId;
|
||||
if (NS_ERROR_PHISHING_URI == aError) {
|
||||
error.AssignLiteral("phishingBlocked");
|
||||
else
|
||||
bucketId = nsISecurityUITelemetry::WARNING_PHISHING_PAGE;
|
||||
} else {
|
||||
error.AssignLiteral("malwareBlocked");
|
||||
bucketId = nsISecurityUITelemetry::WARNING_MALWARE_PAGE;
|
||||
}
|
||||
|
||||
if (errorPage.EqualsIgnoreCase("blocked"))
|
||||
mozilla::Telemetry::Accumulate(mozilla::Telemetry::SECURITY_UI,
|
||||
bucketId);
|
||||
|
||||
cssClass.AssignLiteral("blacklist");
|
||||
}
|
||||
else {
|
||||
|
||||
Reference in New Issue
Block a user