Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2483)

Unified Diff: components/safe_browsing/password_protection/password_protection_service.h

Issue 2869253002: Add UMA metrics to phishguard pings (Closed)
Patch Set: resolve comments on histograms.xml Created 3 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: components/safe_browsing/password_protection/password_protection_service.h
diff --git a/components/safe_browsing/password_protection/password_protection_service.h b/components/safe_browsing/password_protection/password_protection_service.h
index 20c32141b5525a0fa08f728bc4c8ab9aa071dd70..8f28c538700d8c18d0958765add4fceaf788d308 100644
--- a/components/safe_browsing/password_protection/password_protection_service.h
+++ b/components/safe_browsing/password_protection/password_protection_service.h
@@ -35,6 +35,8 @@ class PasswordProtectionRequest;
extern const base::Feature kPasswordFieldOnFocusPinging;
extern const base::Feature kProtectedPasswordEntryPinging;
+extern const char kPasswordOnFocusRequestOutcomeHistogramName[];
+extern const char kPasswordEntryRequestOutcomeHistogramName[];
// Manage password protection pings and verdicts. There is one instance of this
// class per profile. Therefore, every PasswordProtectionService instance is
@@ -42,6 +44,25 @@ extern const base::Feature kProtectedPasswordEntryPinging;
// HostContentSettingsMap instance.
class PasswordProtectionService : public history::HistoryServiceObserver {
public:
+ // The outcome of the request. These values are used for UMA.
+ // DO NOT CHANGE THE ORDERING OF THESE VALUES.
+ enum RequestOutcome {
+ UNKNOWN = 0,
+ SUCCEEDED = 1,
+ CANCELED = 2,
+ TIMEDOUT = 3,
+ MATCHED_WHITELIST = 4,
+ RESPONSE_ALREADY_CACHED = 5,
+ DEPRECATED_NO_EXTENDED_REPORTING = 6,
+ DISABLED_DUE_TO_INCOGNITO = 7,
+ REQUEST_MALFORMED = 8,
+ FETCH_FAILED = 9,
+ RESPONSE_MALFORMED = 10,
+ SERVICE_DESTROYED = 11,
+ DISABLED_DUE_TO_FEATURE_DISABLED = 12,
+ DISABLED_DUE_TO_USER_POPULATION = 13,
+ MAX_OUTCOME
+ };
PasswordProtectionService(
const scoped_refptr<SafeBrowsingDatabaseManager>& database_manager,
scoped_refptr<net::URLRequestContextGetter> request_context_getter,
@@ -82,7 +103,7 @@ class PasswordProtectionService : public history::HistoryServiceObserver {
const GURL& password_form_frame_url,
LoginReputationClientRequest::TriggerType type);
- virtual void MaybeStartLowReputationRequest(
+ virtual void MaybeStartPasswordFieldOnFocusRequest(
const GURL& main_frame_url,
const GURL& password_form_action,
const GURL& password_form_frame_url);
@@ -131,7 +152,8 @@ class PasswordProtectionService : public history::HistoryServiceObserver {
virtual bool IsIncognito() = 0;
- virtual bool IsPingingEnabled(const base::Feature& feature) = 0;
+ virtual bool IsPingingEnabled(const base::Feature& feature,
+ RequestOutcome* reason) = 0;
virtual bool IsHistorySyncEnabled() = 0;
@@ -192,6 +214,8 @@ class PasswordProtectionService : public history::HistoryServiceObserver {
const LoginReputationClientResponse* verdict,
const base::Time& receive_time);
+ static void RecordPingingDisabledReason(const base::Feature& feature,
+ RequestOutcome reason);
// Number of verdict stored for this profile.
int stored_verdict_count_;

Powered by Google App Engine
This is Rietveld 408576698