summaryrefslogtreecommitdiffstats
path: root/webkit/glue/dom_operations.cc
diff options
context:
space:
mode:
Diffstat (limited to 'webkit/glue/dom_operations.cc')
-rw-r--r--webkit/glue/dom_operations.cc5
1 files changed, 5 insertions, 0 deletions
diff --git a/webkit/glue/dom_operations.cc b/webkit/glue/dom_operations.cc
index f42270d..982bbba 100644
--- a/webkit/glue/dom_operations.cc
+++ b/webkit/glue/dom_operations.cc
@@ -183,6 +183,11 @@ static bool FillFormImpl(FormElements* fe, const FormData& data) {
it != fe->input_elements.end(); ++it) {
if (!it->second.value().isEmpty()) // Don't overwrite pre-filled values.
continue;
+ if (it->second.inputType() == WebInputElement::Password) {
+ if (!it->second.isEnabledFormControl() ||
+ it->second.hasAttribute("readonly"))
+ continue; // Don't fill uneditable password fields.
+ }
it->second.setValue(data_map[it->first]);
it->second.setAutofilled(true);
it->second.dispatchFormControlChangeEvent();