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 7ad5814273126fa24f9014b298a63b3ed370cebd..74708ef4cf5d53f380a5952771ac73f0902c0455 100644 |
--- a/components/autofill/content/renderer/password_form_conversion_utils.cc |
+++ b/components/autofill/content/renderer/password_form_conversion_utils.cc |
@@ -254,7 +254,14 @@ void GetPasswordForm( |
layout_sequence.push_back('N'); |
} |
- if (input_element->isPasswordField()) { |
+ // If the password field is readonly, the page is likely using a virtual |
+ // keyboard and bypassing the password field value (see |
+ // http://crbug.com/475488). There is nothing Chrome can do to fill |
+ // passwords for now. |
+ if (input_element->isPasswordField() && |
+ (!input_element->isReadOnly() || |
+ HasAutocompleteAttributeValue(*input_element, "current_password") || |
+ HasAutocompleteAttributeValue(*input_element, "new-password"))) { |
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 |