Index: components/autofill/content/renderer/password_form_conversion_utils.cc |
diff --git a/components/autofill/content/renderer/password_form_conversion_utils.cc b/components/autofill/content/renderer/password_form_conversion_utils.cc |
index 7f82a96a4d058dc49fb65f2e11438cd656af1d9c..8d5d03f42e2a98c2c61f71b431e733fd330f2487 100644 |
--- a/components/autofill/content/renderer/password_form_conversion_utils.cc |
+++ b/components/autofill/content/renderer/password_form_conversion_utils.cc |
@@ -58,6 +58,10 @@ const char kLoginAndSignupRegex[] = |
"N+P" // Sign-up section. |
".*"; // Anything beyond that. |
+const char kAutocompleteUsername[] = "username"; |
+const char kAutocompleteCurrentPassword[] = "current-password"; |
+const char kAutocompleteNewPassword[] = "new-password"; |
+ |
struct LoginAndSignupLazyInstanceTraits |
: public base::DefaultLazyInstanceTraits<icu::RegexMatcher> { |
static icu::RegexMatcher* New(void* instance) { |
@@ -119,10 +123,10 @@ bool LocateSpecificPasswords(std::vector<WebInputElement> passwords, |
// each kind as the element we are looking for. |
for (std::vector<WebInputElement>::const_iterator it = passwords.begin(); |
it != passwords.end(); it++) { |
- if (HasAutocompleteAttributeValue(*it, "current-password") && |
+ if (HasAutocompleteAttributeValue(*it, kAutocompleteCurrentPassword) && |
current_password->isNull()) { |
*current_password = *it; |
- } else if (HasAutocompleteAttributeValue(*it, "new-password") && |
+ } else if (HasAutocompleteAttributeValue(*it, kAutocompleteNewPassword) && |
new_password->isNull()) { |
*new_password = *it; |
} |
@@ -289,8 +293,10 @@ void GetPasswordForm( |
(nonscript_modified_values && |
nonscript_modified_values->find(*input_element) != |
nonscript_modified_values->end()) || |
- HasAutocompleteAttributeValue(*input_element, "current-password") || |
- HasAutocompleteAttributeValue(*input_element, "new-password"))) { |
+ HasAutocompleteAttributeValue(*input_element, |
+ kAutocompleteCurrentPassword) || |
+ HasAutocompleteAttributeValue(*input_element, |
+ kAutocompleteNewPassword))) { |
passwords.push_back(*input_element); |
// If we have not yet considered any element to be the username so far, |
// provisionally select the input element just before the first password |
@@ -310,7 +316,8 @@ void GetPasswordForm( |
// Various input types such as text, url, email can be a username field. |
if (input_element->isTextField() && !input_element->isPasswordField()) { |
- if (HasAutocompleteAttributeValue(*input_element, "username")) { |
+ if (HasAutocompleteAttributeValue(*input_element, |
+ kAutocompleteUsername)) { |
if (password_form->username_marked_by_site) { |
// A second or subsequent element marked with autocomplete='username'. |
// This makes us less confident that we have understood the form. We |
@@ -425,7 +432,7 @@ void GetPasswordForm( |
if (!new_password.isNull()) { |
password_form->new_password_element = new_password.nameForAutofill(); |
password_form->new_password_value = new_password.value(); |
- if (HasAutocompleteAttributeValue(new_password, "new-password")) |
+ if (HasAutocompleteAttributeValue(new_password, kAutocompleteNewPassword)) |
password_form->new_password_marked_by_site = true; |
} |