Chromium Code Reviews| Index: components/autofill/content/renderer/autofill_agent.cc |
| diff --git a/components/autofill/content/renderer/autofill_agent.cc b/components/autofill/content/renderer/autofill_agent.cc |
| index f15a5806089307374c129c07574cdb94b8797764..4ca1c12f0697bef91ed7423e34c20286322a862c 100644 |
| --- a/components/autofill/content/renderer/autofill_agent.cc |
| +++ b/components/autofill/content/renderer/autofill_agent.cc |
| @@ -78,26 +78,25 @@ namespace { |
| // Gets all the data list values (with corresponding label) for the given |
| // element. |
| void GetDataListSuggestions(const WebInputElement& element, |
| - bool ignore_current_value, |
| std::vector<base::string16>* values, |
| std::vector<base::string16>* labels) { |
| WebElementCollection options = element.dataListOptions(); |
| if (options.isNull()) |
| return; |
| - base::string16 prefix; |
| - if (!ignore_current_value) { |
| - prefix = element.editingValue(); |
| - if (element.isMultiple() && element.isEmailField()) { |
| - const base::char16 comma[2] = { ',', 0 }; |
| - std::vector<base::string16> parts = base::SplitString( |
| - prefix, comma, base::TRIM_WHITESPACE, base::SPLIT_WANT_ALL); |
| - if (parts.size() > 0) { |
| - base::TrimWhitespace(parts[parts.size() - 1], base::TRIM_LEADING, |
| - &prefix); |
| - } |
| + // If the field accepts multiple email addresses, filter only on the last one. |
| + base::string16 prefix = element.editingValue(); |
| + if (element.isMultiple() && element.isEmailField()) { |
| + const base::char16 comma[2] = { ',', 0 }; |
| + std::vector<base::string16> parts = base::SplitString( |
| + prefix, comma, base::TRIM_WHITESPACE, base::SPLIT_WANT_ALL); |
|
vabr (Chromium)
2015/11/19 16:31:20
optional:
comma -> ASCIITOUTF16(",")
Mathieu
2015/11/19 16:59:42
Done.
|
| + if (parts.size() > 0) { |
|
vabr (Chromium)
2015/11/19 16:31:20
optional: !parts.empty()
(This is similar to usin
Evan Stade
2015/11/19 16:45:12
I don't see how it's similar to that one, because
vabr (Chromium)
2015/11/19 16:50:24
Sorry that I was not clear. I meant using .empty()
Mathieu
2015/11/19 16:59:42
Done.
|
| + base::TrimWhitespace(parts[parts.size() - 1], base::TRIM_LEADING, |
| + &prefix); |
| } |
| } |
| + |
| + // Prefix filtering. |
| prefix = base::i18n::ToLower(prefix); |
| for (WebOptionElement option = options.firstItem().to<WebOptionElement>(); |
| !option.isNull(); option = options.nextItem().to<WebOptionElement>()) { |
| @@ -739,7 +738,6 @@ void AutofillAgent::QueryAutofillSuggestions( |
| if (input_element) { |
| // Find the datalist values and send them to the browser process. |
| GetDataListSuggestions(*input_element, |
| - datalist_only, |
| &data_list_values, |
| &data_list_labels); |
| TrimStringVectorForIPC(&data_list_values); |