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 c09c4c2b164e05ec10336ccda428e5801dad0da7..584d5084b3ab5d5c36a4b44e17e959207993f7c8 100644 |
--- a/chrome/renderer/autofill/autofill_renderer_browsertest.cc |
+++ b/chrome/renderer/autofill/autofill_renderer_browsertest.cc |
@@ -25,7 +25,7 @@ TEST_F(ChromeRenderViewTest, SendForms) { |
// loop, it will generate an update. |
SendContentStateImmediately(); |
- LoadHTML("<form method=\"POST\">" |
+ LoadHTML("<form method=\"POST\" id=\"testform\">" |
" <input type=\"text\" id=\"firstname\"/>" |
" <input type=\"text\" id=\"middlename\"/>" |
" <input type=\"text\" id=\"lastname\" autoComplete=\"off\"/>" |
@@ -123,6 +123,28 @@ TEST_F(ChromeRenderViewTest, SendForms) { |
expected.form_control_type = "select-one"; |
expected.max_length = 0; |
EXPECT_FORM_FIELD_DATA_EQUALS(expected, form2.fields[2]); |
+ |
+ autofill_agent_->OnWhitelistedForAutocheckout(); |
ahutter
2013/03/29 19:48:31
Might want to make this a new TEST_F
Dane Wallinga
2013/03/29 21:41:12
Done.
|
+ render_thread_->sink().ClearMessages(); |
+ ExecuteJavaScript("newInput=document.createElement(\"input\");" |
ahutter
2013/03/29 19:48:31
nit but should this be "var newInput="
Dane Wallinga
2013/03/29 21:41:12
Done.
|
+ "newInput.setAttribute(\"type\",\"text\");" |
+ "newInput.setAttribute(\"id\", \"telephone\");" |
+ "document.getElementById(\"testform\").appendChild(newInput);"); |
+ msg_loop_.RunUntilIdle(); |
+ // Verify that FormsSeen is resent with the new field. |
+ const IPC::Message* message3 = render_thread_->sink().GetFirstMessageMatching( |
+ AutofillHostMsg_FormsSeen::ID); |
+ ASSERT_NE(static_cast<IPC::Message*>(NULL), message3); |
+ AutofillHostMsg_FormsSeen::Read(message3, ¶ms); |
+ const std::vector<FormData>& new_forms = params.a; |
+ ASSERT_EQ(1UL, new_forms.size()); |
+ ASSERT_EQ(5UL, new_forms[0].fields.size()); |
+ |
+ expected.name = ASCIIToUTF16("telephone"); |
+ expected.value = string16(); |
+ expected.form_control_type = "text"; |
+ expected.max_length = WebInputElement::defaultMaxLength(); |
+ EXPECT_FORM_FIELD_DATA_EQUALS(expected, forms[0].fields[4]); |
} |
TEST_F(ChromeRenderViewTest, FillFormElement) { |