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

Unified Diff: components/autofill/content/renderer/password_form_conversion_utils.cc

Issue 1408423003: [Password Manager] Ignore autofilling invisible password fields. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Added more handling. Created 5 years, 2 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/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

Powered by Google App Engine
This is Rietveld 408576698