Index: components/autofill/content/renderer/form_autofill_util.cc |
diff --git a/components/autofill/content/renderer/form_autofill_util.cc b/components/autofill/content/renderer/form_autofill_util.cc |
index 7501905cd4e2f5526103a13026e351124e8a1c87..e20c4b92bd942ee1bde2bf8c1130f0e6f0976409 100644 |
--- a/components/autofill/content/renderer/form_autofill_util.cc |
+++ b/components/autofill/content/renderer/form_autofill_util.cc |
@@ -781,6 +781,7 @@ void WebFormControlElementToFormField(const WebFormControlElement& element, |
DCHECK(field); |
DCHECK(!element.isNull()); |
CR_DEFINE_STATIC_LOCAL(WebString, kAutocomplete, ("autocomplete")); |
+ CR_DEFINE_STATIC_LOCAL(WebString, kRole, ("role")); |
// The label is not officially part of a WebFormControlElement; however, the |
// labels for all form control elements are scraped from the DOM and set in |
@@ -795,6 +796,10 @@ void WebFormControlElementToFormField(const WebFormControlElement& element, |
// attribute was present. |
field->autocomplete_attribute = "x-max-data-length-exceeded"; |
} |
+ field->role = base::UTF16ToUTF8(element.getAttribute(kRole)); |
+ if (field->role.size() > kMaxDataLength) { |
+ field->role = "x-max-data-length-exceeded"; |
+ } |
if (!IsAutofillableElement(element)) |
return; |