Chromium Code Reviews| 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 e27e482ac4b46aad2da8990eb99fa7e163402eda..a346af0464d5cb2e46f57674883af93a93066af2 100644 |
| --- a/components/autofill/content/renderer/password_form_conversion_utils.cc |
| +++ b/components/autofill/content/renderer/password_form_conversion_utils.cc |
| @@ -143,13 +143,17 @@ bool LocateSpecificPasswords(std::vector<WebInputElement> passwords, |
| *current_password = passwords[0]; |
| break; |
| case 2: |
| - if (passwords[0].value() == passwords[1].value()) { |
| - // Two identical passwords: assume we are seeing a new password with a |
| - // confirmation. This can be either a sign-up form or a password change |
| - // form that does not ask for the old password. |
| + if (!passwords[0].value().isEmpty() && |
|
Garrett Casto
2015/06/12 00:09:09
Can you add a test for this?
dvadym
2015/06/12 17:22:37
Done. I've fixed corresponding test in password_fo
|
| + passwords[0].value() == passwords[1].value()) { |
| + // Two identical non-empty passwords: assume we are seeing a new |
| + // password with a confirmation. This can be either a sign-up form or a |
| + // password change form that does not ask for the old password. |
| *new_password = passwords[0]; |
| } else { |
| // Assume first is old password, second is new (no choice but to guess). |
| + // This case also includes empty passwords in order to allow filling of |
| + // password change forms (that also could autofill for sign up form, but |
| + // we can't do anything with this using only client side information). |
| *current_password = passwords[0]; |
| *new_password = passwords[1]; |
| } |