summaryrefslogtreecommitdiffstats
path: root/chrome/renderer/form_manager.cc
diff options
context:
space:
mode:
authorjhawkins@chromium.org <jhawkins@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-04-08 02:04:12 +0000
committerjhawkins@chromium.org <jhawkins@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-04-08 02:04:12 +0000
commit9a421428e238a6dbb9ea9c2f7fd2dde97385252b (patch)
tree5400fda26e4205cd5aca36079dc0db66d31f60a6 /chrome/renderer/form_manager.cc
parentfee4f34561031e3411cf09e2ff3f0142d4ac00a6 (diff)
downloadchromium_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.cc5
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")) {