| 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 dc87799d0c887b0be691584de12d78b1ac649477..749bb23af6ab044b3c14baa952101b0f7b826c6d 100644
|
| --- a/components/autofill/content/renderer/password_form_conversion_utils.cc
|
| +++ b/components/autofill/content/renderer/password_form_conversion_utils.cc
|
| @@ -364,6 +364,7 @@ bool GetPasswordForm(const SyntheticForm& form,
|
| // was made readonly by JavaScript before submission. We can do this by
|
| // checking whether password element was updated not from JavaScript.
|
| if (input_element->isPasswordField() &&
|
| + !IsInputElementHidden(input_element) &&
|
| (!input_element->isReadOnly() ||
|
| (nonscript_modified_values &&
|
| nonscript_modified_values->find(*input_element) !=
|
| @@ -637,4 +638,9 @@ bool HasAutocompleteAttributeValue(const blink::WebInputElement& element,
|
| value_in_lowercase);
|
| }
|
|
|
| +bool IsInputElementHidden(blink::WebInputElement* input_element) {
|
| + // Hidden elements have empty bounding box.
|
| + return input_element->boundsInViewportSpace().isEmpty();
|
| +}
|
| +
|
| } // namespace autofill
|
|
|