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

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

Issue 1014683006: [Password manager] Recognise squashed login+sign-up forms (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: LazyInstance + commented regexp Created 5 years, 9 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.h
diff --git a/components/autofill/core/common/password_form.h b/components/autofill/core/common/password_form.h
index 783eda54786c8e433d20807d7799e65c5523b62b..bbcf72ae0fc09c9962492ec4c7a2bd9aada3573b 100644
--- a/components/autofill/core/common/password_form.h
+++ b/components/autofill/core/common/password_form.h
@@ -59,6 +59,21 @@ struct PasswordForm {
SCHEME_LAST = SCHEME_OTHER
} scheme;
+ // During form parsing, Chrome tries to partly understand the type of the form
+ // based on the layout of its fields. The result of this analysis helps to
+ // treat the form correctly once the low-level information is lost by
+ // converting the web form into a PasswordForm. It is only used for observed
+ // HTML forms, not for stored credentials.
+ enum class Layout {
+ // Forms which either do not need to be classified, or cannot be classified
+ // meaningfully.
+ LAYOUT_OTHER,
+ // Login and signup forms combined in one <form>, to distinguish them from,
+ // e.g., change-password forms.
+ LAYOUT_LOGIN_AND_SIGNUP,
+ LAYOUT_LAST = LAYOUT_LOGIN_AND_SIGNUP
+ };
+
// The "Realm" for the sign-on. This is scheme, host, port for SCHEME_HTML.
// Dialog based forms also contain the HTTP realm. Android based forms will
// contain a string of the form "android://<hash of cert>@<package name>"
@@ -238,6 +253,9 @@ struct PasswordForm {
// Once user selects this credential the flag is reseted.
bool skip_zero_click;
+ // The layout as determined during parsing. Default value is LAYOUT_OTHER.
+ Layout layout;
+
// Returns true if this match was found using public suffix matching.
bool IsPublicSuffixMatch() const;
@@ -255,6 +273,7 @@ typedef std::map<base::string16, PasswordForm*> PasswordFormMap;
typedef std::map<base::string16, const PasswordForm*> ConstPasswordFormMap;
// For testing.
+std::ostream& operator<<(std::ostream& os, PasswordForm::Layout layout);
std::ostream& operator<<(std::ostream& os,
const autofill::PasswordForm& form);

Powered by Google App Engine
This is Rietveld 408576698