| 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 d2817874d7e7786bce890f4aa6a666d5d32628da..a40d656495626c33778b9a125b8d7275674634a7 100644
|
| --- a/components/autofill/content/renderer/autofill_agent.cc
|
| +++ b/components/autofill/content/renderer/autofill_agent.cc
|
| @@ -16,6 +16,7 @@
|
| #include "components/autofill/content/renderer/page_click_tracker.h"
|
| #include "components/autofill/content/renderer/password_autofill_agent.h"
|
| #include "components/autofill/core/common/autofill_constants.h"
|
| +#include "components/autofill/core/common/autofill_data_sanitizer.h"
|
| #include "components/autofill/core/common/autofill_switches.h"
|
| #include "components/autofill/core/common/form_data.h"
|
| #include "components/autofill/core/common/form_data_predictions.h"
|
| @@ -54,16 +55,9 @@ using blink::WebNodeCollection;
|
| using blink::WebOptionElement;
|
| using blink::WebString;
|
|
|
| -namespace {
|
| -
|
| -// The size above which we stop triggering autofill for an input text field
|
| -// (so to avoid sending long strings through IPC).
|
| -const size_t kMaximumTextSizeForAutofill = 1000;
|
| -
|
| -// The maximum number of data list elements to send to the browser process
|
| -// via IPC (to prevent long IPC messages).
|
| -const size_t kMaximumDataListSizeForAutofill = 30;
|
| +namespace autofill {
|
|
|
| +namespace {
|
|
|
| // Gets all the data list values (with corresponding label) for the given
|
| // element.
|
| @@ -105,13 +99,13 @@ void GetDataListSuggestions(const blink::WebInputElement& element,
|
| // don't send too much data through the IPC.
|
| void TrimStringVectorForIPC(std::vector<base::string16>* strings) {
|
| // Limit the size of the vector.
|
| - if (strings->size() > kMaximumDataListSizeForAutofill)
|
| - strings->resize(kMaximumDataListSizeForAutofill);
|
| + if (strings->size() > kMaxListSize)
|
| + strings->resize(kMaxListSize);
|
|
|
| // Limit the size of the strings in the vector.
|
| for (size_t i = 0; i < strings->size(); ++i) {
|
| - if ((*strings)[i].length() > kMaximumTextSizeForAutofill)
|
| - (*strings)[i].resize(kMaximumTextSizeForAutofill);
|
| + if ((*strings)[i].length() > kMaxDataLength)
|
| + (*strings)[i].resize(kMaxDataLength);
|
| }
|
| }
|
|
|
| @@ -125,8 +119,6 @@ gfx::RectF GetScaledBoundingBox(float scale, WebInputElement* element) {
|
|
|
| } // namespace
|
|
|
| -namespace autofill {
|
| -
|
| AutofillAgent::AutofillAgent(content::RenderView* render_view,
|
| PasswordAutofillAgent* password_autofill_agent)
|
| : content::RenderViewObserver(render_view),
|
| @@ -520,7 +512,7 @@ void AutofillAgent::ShowSuggestions(const WebInputElement& element,
|
| // criteria are not met.
|
| WebString value = element.editingValue();
|
| if (!datalist_only &&
|
| - (value.length() > kMaximumTextSizeForAutofill ||
|
| + (value.length() > kMaxDataLength ||
|
| (!autofill_on_empty_values && value.isEmpty()) ||
|
| (requires_caret_at_end &&
|
| (element.selectionStart() != element.selectionEnd() ||
|
|
|