diff options
author | jhawkins@chromium.org <jhawkins@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-04-08 02:04:12 +0000 |
---|---|---|
committer | jhawkins@chromium.org <jhawkins@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-04-08 02:04:12 +0000 |
commit | 9a421428e238a6dbb9ea9c2f7fd2dde97385252b (patch) | |
tree | 5400fda26e4205cd5aca36079dc0db66d31f60a6 /chrome/renderer/form_manager.cc | |
parent | fee4f34561031e3411cf09e2ff3f0142d4ac00a6 (diff) | |
download | chromium_src-9a421428e238a6dbb9ea9c2f7fd2dde97385252b.zip chromium_src-9a421428e238a6dbb9ea9c2f7fd2dde97385252b.tar.gz chromium_src-9a421428e238a6dbb9ea9c2f7fd2dde97385252b.tar.bz2 |
AutoFill: Respect the maxlength attribute when filling input elements.
BUG=40274
TEST=FormManager.FillFormMaxLength
Review URL: http://codereview.chromium.org/1630005
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@43915 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/renderer/form_manager.cc')
-rw-r--r-- | chrome/renderer/form_manager.cc | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/chrome/renderer/form_manager.cc b/chrome/renderer/form_manager.cc index 87cfcea..5f19c48 100644 --- a/chrome/renderer/form_manager.cc +++ b/chrome/renderer/form_manager.cc @@ -367,7 +367,10 @@ bool FormManager::FillForm(const FormData& form) { element->formControlType() != WebString::fromUTF8("submit")) { if (element->formControlType() == WebString::fromUTF8("text")) { WebInputElement input_element = element->toElement<WebInputElement>(); - input_element.setValue(form.fields[i].value()); + // If the maxlength attribute contains a negative value, maxLength() + // returns the default maxlength value. + input_element.setValue( + form.fields[i].value().substr(0, input_element.maxLength())); input_element.setAutofilled(true); } else if (element->formControlType() == WebString::fromUTF8("select-one")) { |