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

Side by Side Diff: components/autofill/core/browser/autofill_metrics.h

Issue 2839063004: [Autofill] UKM for suggestions polled field. (Closed)
Patch Set: Address comments. 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 unified diff | Download patch
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef COMPONENTS_AUTOFILL_CORE_BROWSER_AUTOFILL_METRICS_H_ 5 #ifndef COMPONENTS_AUTOFILL_CORE_BROWSER_AUTOFILL_METRICS_H_
6 #define COMPONENTS_AUTOFILL_CORE_BROWSER_AUTOFILL_METRICS_H_ 6 #define COMPONENTS_AUTOFILL_CORE_BROWSER_AUTOFILL_METRICS_H_
7 7
8 #include <stddef.h> 8 #include <stddef.h>
9 #include <string> 9 #include <string>
10 #include <utility> 10 #include <utility>
(...skipping 20 matching lines...) Expand all
31 31
32 // Each form interaction event has a separate |UkmEntry|. 32 // Each form interaction event has a separate |UkmEntry|.
33 33
34 // The first form event |UkmEntry| contains metrics for metadata that apply 34 // The first form event |UkmEntry| contains metrics for metadata that apply
35 // to all subsequent events. 35 // to all subsequent events.
36 extern const char kUKMInteractedWithFormEntryName[]; 36 extern const char kUKMInteractedWithFormEntryName[];
37 extern const char kUKMIsForCreditCardMetricName[]; 37 extern const char kUKMIsForCreditCardMetricName[];
38 extern const char kUKMLocalRecordTypeCountMetricName[]; 38 extern const char kUKMLocalRecordTypeCountMetricName[];
39 extern const char kUKMServerRecordTypeCountMetricName[]; 39 extern const char kUKMServerRecordTypeCountMetricName[];
40 40
41 // |UkmEntry| when user polls suggestions. Metrics for field type.
csashi 2017/04/27 18:41:17 Can we not add the metrics to "Suggestions shown"
jiahuiguo 2017/05/24 18:00:00 Done.
42 extern const char kUKMPollSuggestionsEntryName[];
43 extern const char kUKMHeuristicTypeMetricName[];
44 extern const char kUKMHtmlFieldTypeMetricName[];
45 extern const char kUKMServerTypeMetricName[];
46
41 // |UkmEntry| when we show suggestions. 47 // |UkmEntry| when we show suggestions.
42 extern const char kUKMSuggestionsShownEntryName[]; 48 extern const char kUKMSuggestionsShownEntryName[];
43 49
44 // |UkmEntry| when user selects a masked server credit card. 50 // |UkmEntry| when user selects a masked server credit card.
45 extern const char kUKMSelectedMaskedServerCardEntryName[]; 51 extern const char kUKMSelectedMaskedServerCardEntryName[];
46 52
47 // Each |UkmEntry|, except the first interaction with the form, has a metric for 53 // Each |UkmEntry|, except the first interaction with the form, has a metric for
48 // time elapsed, in milliseconds, since we loaded the form. 54 // time elapsed, in milliseconds, since we loaded the form.
49 extern const char kUKMMillisecondsSinceFormLoadedMetricName[]; 55 extern const char kUKMMillisecondsSinceFormLoadedMetricName[];
50 56
51 // |FormEvent| for FORM_EVENT_*_SUGGESTION_FILLED in credit card forms include a 57 // |FormEvent| for FORM_EVENT_*_SUGGESTION_FILLED in credit card forms include a
52 // |CreditCard| |record_type()| to indicate if the suggestion was for a local 58 // |CreditCard| |record_type()| to indicate if the suggestion was for a local
53 // card, masked server card or full server card. Similarly, address/profile 59 // card, masked server card or full server card. Similarly, address/profile
54 // forms include a |AutofillProfile| |record_type()| to indicate if the 60 // forms include a |AutofillProfile| |record_type()| to indicate if the
55 // profile was a local profile or server profile. 61 // profile was a local profile or server profile.
56 extern const char kUKMSuggestionFilledEntryName[]; 62 extern const char kUKMSuggestionFilledEntryName[];
57 extern const char kUKMRecordTypeMetricName[]; 63 extern const char kUKMRecordTypeMetricName[];
58 64
59 // |UkmEntry| for user editing text field. Metrics contain field's attributes. 65 // |UkmEntry| for user editing text field. Metrics contain field's attributes.
60 extern const char kUKMTextFieldDidChangeEntryName[]; 66 extern const char kUKMTextFieldDidChangeEntryName[];
61 extern const char kUKMFieldTypeGroupMetricName[]; 67 extern const char kUKMFieldTypeGroupMetricName[];
62 extern const char kUKMHeuristicTypeMetricName[];
63 extern const char kUKMServerTypeMetricName[];
64 extern const char kUKMHtmlFieldTypeMetricName[];
65 extern const char kUKMHtmlFieldModeMetricName[]; 68 extern const char kUKMHtmlFieldModeMetricName[];
66 extern const char kUKMIsAutofilledMetricName[]; 69 extern const char kUKMIsAutofilledMetricName[];
67 extern const char kUKMIsEmptyMetricName[]; 70 extern const char kUKMIsEmptyMetricName[];
68 71
69 // |UkmEntry| for |AutofillFormSubmittedState|. 72 // |UkmEntry| for |AutofillFormSubmittedState|.
70 extern const char kUKMFormSubmittedEntryName[]; 73 extern const char kUKMFormSubmittedEntryName[];
71 extern const char kUKMAutofillFormSubmittedStateMetricName[]; 74 extern const char kUKMAutofillFormSubmittedStateMetricName[];
72 } // namespace internal 75 } // namespace internal
73 76
74 namespace autofill { 77 namespace autofill {
(...skipping 540 matching lines...) Expand 10 before | Expand all | Expand 10 after
615 class FormInteractionsUkmLogger { 618 class FormInteractionsUkmLogger {
616 public: 619 public:
617 explicit FormInteractionsUkmLogger(ukm::UkmService* ukm_service); 620 explicit FormInteractionsUkmLogger(ukm::UkmService* ukm_service);
618 621
619 const GURL& url() const { return url_; } 622 const GURL& url() const { return url_; }
620 623
621 void OnFormsLoaded(const GURL& url); 624 void OnFormsLoaded(const GURL& url);
622 void LogInteractedWithForm(bool is_for_credit_card, 625 void LogInteractedWithForm(bool is_for_credit_card,
623 size_t local_record_type_count, 626 size_t local_record_type_count,
624 size_t server_record_type_count); 627 size_t server_record_type_count);
628 void LogPollSuggestions(const AutofillField& field);
625 void LogSuggestionsShown(); 629 void LogSuggestionsShown();
626 void LogSelectedMaskedServerCard(); 630 void LogSelectedMaskedServerCard();
627 void LogDidFillSuggestion(int record_type); 631 void LogDidFillSuggestion(int record_type);
628 void LogTextFieldDidChange(const AutofillField& field); 632 void LogTextFieldDidChange(const AutofillField& field);
629 void LogFormSubmitted(AutofillFormSubmittedState state); 633 void LogFormSubmitted(AutofillFormSubmittedState state);
630 634
631 // We initialize |url_| with the form's URL when we log the first form 635 // We initialize |url_| with the form's URL when we log the first form
632 // interaction. Later, we may update |url_| with the |source_url()| for the 636 // interaction. Later, we may update |url_| with the |source_url()| for the
633 // submitted form. 637 // submitted form.
634 void UpdateSourceURL(const GURL& url); 638 void UpdateSourceURL(const GURL& url);
(...skipping 199 matching lines...) Expand 10 before | Expand all | Expand 10 after
834 inline void set_local_record_type_count(size_t local_record_type_count) { 838 inline void set_local_record_type_count(size_t local_record_type_count) {
835 local_record_type_count_ = local_record_type_count; 839 local_record_type_count_ = local_record_type_count;
836 } 840 }
837 841
838 inline void set_is_context_secure(bool is_context_secure) { 842 inline void set_is_context_secure(bool is_context_secure) {
839 is_context_secure_ = is_context_secure; 843 is_context_secure_ = is_context_secure;
840 } 844 }
841 845
842 void OnDidInteractWithAutofillableForm(); 846 void OnDidInteractWithAutofillableForm();
843 847
844 void OnDidPollSuggestions(const FormFieldData& field); 848 void OnDidPollSuggestions(const FormFieldData& field,
849 const AutofillField& autofill_field);
845 850
846 void OnDidShowSuggestions(); 851 void OnDidShowSuggestions();
847 852
848 void OnDidSelectMaskedServerCardSuggestion(); 853 void OnDidSelectMaskedServerCardSuggestion();
849 854
850 // In case of masked cards, caller must make sure this gets called before 855 // In case of masked cards, caller must make sure this gets called before
851 // the card is upgraded to a full card. 856 // the card is upgraded to a full card.
852 void OnDidFillSuggestion(const CreditCard& credit_card); 857 void OnDidFillSuggestion(const CreditCard& credit_card);
853 858
854 void OnDidFillSuggestion(const AutofillProfile& profile); 859 void OnDidFillSuggestion(const AutofillProfile& profile);
(...skipping 25 matching lines...) Expand all
880 form_interactions_ukm_logger_; // Weak reference. 885 form_interactions_ukm_logger_; // Weak reference.
881 }; 886 };
882 887
883 private: 888 private:
884 DISALLOW_IMPLICIT_CONSTRUCTORS(AutofillMetrics); 889 DISALLOW_IMPLICIT_CONSTRUCTORS(AutofillMetrics);
885 }; 890 };
886 891
887 } // namespace autofill 892 } // namespace autofill
888 893
889 #endif // COMPONENTS_AUTOFILL_CORE_BROWSER_AUTOFILL_METRICS_H_ 894 #endif // COMPONENTS_AUTOFILL_CORE_BROWSER_AUTOFILL_METRICS_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698