| Index: chrome/renderer/autofill/autofill_renderer_browsertest.cc
|
| diff --git a/chrome/renderer/autofill/autofill_renderer_browsertest.cc b/chrome/renderer/autofill/autofill_renderer_browsertest.cc
|
| index 0ff5d278a96321e89ebb1152f26faae245971380..e6f4ec1384c9d517980cb75edc851c152b0cb8e3 100644
|
| --- a/chrome/renderer/autofill/autofill_renderer_browsertest.cc
|
| +++ b/chrome/renderer/autofill/autofill_renderer_browsertest.cc
|
| @@ -22,6 +22,7 @@
|
| #include "third_party/WebKit/public/web/WebFormElement.h"
|
| #include "third_party/WebKit/public/web/WebInputElement.h"
|
| #include "third_party/WebKit/public/web/WebLocalFrame.h"
|
| +#include "third_party/WebKit/public/web/WebView.h"
|
|
|
| using base::ASCIIToUTF16;
|
| using blink::WebDocument;
|
| @@ -245,6 +246,31 @@ TEST_F(AutofillRendererTest, DynamicallyAddedUnownedFormElements) {
|
| EXPECT_FORM_FIELD_DATA_EQUALS(expected, forms[0].fields[8]);
|
| }
|
|
|
| +TEST_F(AutofillRendererTest, IgnoreNonUserGestureTextFieldChanges) {
|
| + LoadHTML("<form method='post'>"
|
| + " <input type='text' id='full_name'/>"
|
| + "</form>");
|
| +
|
| + blink::WebInputElement full_name =
|
| + GetMainFrame()->document().getElementById("full_name")
|
| + .to<blink::WebInputElement>();
|
| + while (!full_name.focused())
|
| + GetMainFrame()->view()->advanceFocus(false);
|
| +
|
| + // Not a user gesture, so no IPC message to browser.
|
| + full_name.setValue("Alice", true);
|
| + GetMainFrame()->toWebLocalFrame()->autofillClient()->textFieldDidChange(
|
| + full_name);
|
| + base::MessageLoop::current()->RunUntilIdle();
|
| + ASSERT_EQ(nullptr, render_thread_->sink().GetFirstMessageMatching(
|
| + AutofillHostMsg_TextFieldDidChange::ID));
|
| +
|
| + // A user gesture will send a message to the browser.
|
| + SimulateUserInputChangeForElement(&full_name, "Alice");
|
| + ASSERT_NE(nullptr, render_thread_->sink().GetFirstMessageMatching(
|
| + AutofillHostMsg_TextFieldDidChange::ID));
|
| +}
|
| +
|
| class RequestAutocompleteRendererTest : public AutofillRendererTest {
|
| public:
|
| RequestAutocompleteRendererTest()
|
|
|