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

Unified Diff: components/autofill/core/common/password_form.cc

Issue 2859243004: Add metrics for PasswordForm submission types (Closed)
Patch Set: addressed reviewer 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 side-by-side diff with in-line comments
Download patch
Index: components/autofill/core/common/password_form.cc
diff --git a/components/autofill/core/common/password_form.cc b/components/autofill/core/common/password_form.cc
index 17892915c65c8f852b94dd2ad7648843be18e296..ee5f8112434b6843a83023cb458f4339335e6c3a 100644
--- a/components/autofill/core/common/password_form.cc
+++ b/components/autofill/core/common/password_form.cc
@@ -66,6 +66,9 @@ void PasswordFormToJSON(const PasswordForm& form,
target->SetString("affiliated_web_realm", form.affiliated_web_realm);
target->SetBoolean("does_look_like_signup_form",
form.does_look_like_signup_form);
+ std::ostringstream submission_event_string_stream;
+ submission_event_string_stream << form.submission_event;
+ target->SetString("submission_event", submission_event_string_stream.str());
}
} // namespace
@@ -86,7 +89,8 @@ PasswordForm::PasswordForm()
was_parsed_using_autofill_predictions(false),
is_public_suffix_match(false),
is_affiliation_based_match(false),
- does_look_like_signup_form(false) {}
+ does_look_like_signup_form(false),
+ submission_event(SubmissionIndicatorEvent::NONE) {}
PasswordForm::PasswordForm(const PasswordForm& other) = default;
@@ -130,7 +134,8 @@ bool PasswordForm::operator==(const PasswordForm& form) const {
is_public_suffix_match == form.is_public_suffix_match &&
is_affiliation_based_match == form.is_affiliation_based_match &&
affiliated_web_realm == form.affiliated_web_realm &&
- does_look_like_signup_form == form.does_look_like_signup_form;
+ does_look_like_signup_form == form.does_look_like_signup_form &&
+ submission_event == form.submission_event;
}
bool PasswordForm::operator!=(const PasswordForm& form) const {
@@ -218,4 +223,30 @@ std::ostream& operator<<(std::ostream& os, PasswordForm* form) {
return os << "&" << *form;
}
+std::ostream& operator<<(
+ std::ostream& os,
+ PasswordForm::SubmissionIndicatorEvent submission_event) {
+ switch (submission_event) {
+ case PasswordForm::SubmissionIndicatorEvent::HTML_FORM_SUBMISSION:
+ os << "HTML_FORM_SUBMISSION";
+ break;
+ case PasswordForm::SubmissionIndicatorEvent::SAME_DOCUMENT_NAVIGATION:
+ os << "SAME_DOCUMENT_NAVIGATION";
+ break;
+ case PasswordForm::SubmissionIndicatorEvent::XHR_SUCCEEDED:
+ os << "XHR_SUCCEEDED";
+ break;
+ case PasswordForm::SubmissionIndicatorEvent::FRAME_DETACHED:
+ os << "FRAME_DETACHED";
+ break;
+ case PasswordForm::SubmissionIndicatorEvent::MANUAL_SAVE:
+ os << "MANUAL_SAVE";
+ break;
+ default:
+ os << "NO_SUBMISSION";
+ break;
+ }
+ return os;
+}
+
} // namespace autofill
« no previous file with comments | « components/autofill/core/common/password_form.h ('k') | components/password_manager/core/browser/password_manager.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698