diff options
author | isherman@chromium.org <isherman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-11-29 22:27:16 +0000 |
---|---|---|
committer | isherman@chromium.org <isherman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-11-29 22:27:16 +0000 |
commit | 3bb80e49ebd2f095b829e27135962a0aa4591e87 (patch) | |
tree | cce992fadfc3f39a776154372e0d8cf38bdd416e /chrome/renderer | |
parent | c8965289996843e686084e86036db4cfe5b1713f (diff) | |
download | chromium_src-3bb80e49ebd2f095b829e27135962a0aa4591e87.zip chromium_src-3bb80e49ebd2f095b829e27135962a0aa4591e87.tar.gz chromium_src-3bb80e49ebd2f095b829e27135962a0aa4591e87.tar.bz2 |
Once a form has been partially autofilled, autofill should only update fields one at a time.
BUG=63437, 62638
TEST=unit_tests --gtest_filter=AutoFillManagerTest.*
Review URL: http://codereview.chromium.org/5334005
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@67599 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/renderer')
-rw-r--r-- | chrome/renderer/autofill_helper.cc | 64 | ||||
-rw-r--r-- | chrome/renderer/autofill_helper.h | 8 | ||||
-rw-r--r-- | chrome/renderer/form_manager.cc | 1 | ||||
-rw-r--r-- | chrome/renderer/form_manager_browsertest.cc | 525 | ||||
-rw-r--r-- | chrome/renderer/password_autocomplete_manager_unittest.cc | 4 | ||||
-rw-r--r-- | chrome/renderer/render_view_browsertest.cc | 24 |
6 files changed, 411 insertions, 215 deletions
diff --git a/chrome/renderer/autofill_helper.cc b/chrome/renderer/autofill_helper.cc index 2f8b146..f7fd7a2 100644 --- a/chrome/renderer/autofill_helper.cc +++ b/chrome/renderer/autofill_helper.cc @@ -34,18 +34,6 @@ namespace { // (so to avoid sending long strings through IPC). const size_t kMaximumTextSizeForAutoFill = 1000; - -// |node| must correspond to a form field. -// Returns true if |node| is auto-filled. -bool NodeIsAutoFilled(const WebKit::WebNode& node) { - const WebFormControlElement& element = - reinterpret_cast<const WebFormControlElement&>(node); - - WebInputElement input_element = - const_cast<WebFormControlElement&>(element).to<WebInputElement>(); - return input_element.isAutofilled(); -} - } // namespace AutoFillHelper::AutoFillHelper(RenderView* render_view) @@ -58,8 +46,8 @@ AutoFillHelper::AutoFillHelper(RenderView* render_view) suggestions_options_index_(-1) { } -void AutoFillHelper::RemoveAutocompleteSuggestion( - const WebKit::WebString& name, const WebKit::WebString& value) { +void AutoFillHelper::RemoveAutocompleteSuggestion(const WebString& name, + const WebString& value) { // The index of clear & options will have shifted down. if (suggestions_clear_index_ != -1) suggestions_clear_index_--; @@ -192,6 +180,8 @@ void AutoFillHelper::FormDataFilled(int query_id, void AutoFillHelper::DidSelectAutoFillSuggestion(const WebNode& node, int unique_id) { + DCHECK_GE(unique_id, 0); + DidClearAutoFillSelection(node); FillAutoFillFormData(node, unique_id, AUTOFILL_PREVIEW); } @@ -303,20 +293,13 @@ void AutoFillHelper::QueryAutoFillSuggestions( autofill_query_node_ = node; display_warning_if_disabled_ = display_warning_if_disabled; - const WebFormControlElement& element = node.toConst<WebFormControlElement>(); + webkit_glue::FormData form; webkit_glue::FormField field; - FormManager::WebFormControlElementToFormField( - element, FormManager::EXTRACT_VALUE, &field); - - // WebFormControlElementToFormField does not scrape the DOM for the field - // label, so find the label here. - // TODO(jhawkins): Add form and field identities so we can use the cached form - // data in FormManager. - field.set_label(FormManager::LabelForElement(element)); + if (!FindFormAndFieldForNode(node, &form, &field)) + return; - bool field_autofilled = NodeIsAutoFilled(node); render_view_->Send(new ViewHostMsg_QueryFormFieldAutoFill( - render_view_->routing_id(), autofill_query_id_, field_autofilled, field)); + render_view_->routing_id(), autofill_query_id_, form, field)); } void AutoFillHelper::FillAutoFillFormData(const WebNode& node, @@ -326,15 +309,14 @@ void AutoFillHelper::FillAutoFillFormData(const WebNode& node, autofill_query_id_ = query_counter++; webkit_glue::FormData form; - const WebInputElement element = node.toConst<WebInputElement>(); - if (!form_manager_.FindFormWithFormControlElement( - element, FormManager::REQUIRE_NONE, &form)) + webkit_glue::FormField field; + if (!FindFormAndFieldForNode(node, &form, &field)) return; autofill_action_ = action; - was_query_node_autofilled_ = element.isAutofilled(); + was_query_node_autofilled_ = field.is_autofilled(); render_view_->Send(new ViewHostMsg_FillAutoFillFormData( - render_view_->routing_id(), autofill_query_id_, form, unique_id)); + render_view_->routing_id(), autofill_query_id_, form, field, unique_id)); } void AutoFillHelper::SendForms(WebFrame* frame) { @@ -360,3 +342,25 @@ void AutoFillHelper::SendForms(WebFrame* frame) { forms)); } } + +bool AutoFillHelper::FindFormAndFieldForNode(const WebNode& node, + webkit_glue::FormData* form, + webkit_glue::FormField* field) { + const WebInputElement& element = node.toConst<WebInputElement>(); + if (!form_manager_.FindFormWithFormControlElement(element, + FormManager::REQUIRE_NONE, + form)) + return false; + + FormManager::WebFormControlElementToFormField(element, + FormManager::EXTRACT_VALUE, + field); + + // WebFormControlElementToFormField does not scrape the DOM for the field + // label, so find the label here. + // TODO(jhawkins): Add form and field identities so we can use the cached form + // data in FormManager. + field->set_label(FormManager::LabelForElement(element)); + + return true; +} diff --git a/chrome/renderer/autofill_helper.h b/chrome/renderer/autofill_helper.h index 67b137c..c948bcf 100644 --- a/chrome/renderer/autofill_helper.h +++ b/chrome/renderer/autofill_helper.h @@ -9,6 +9,7 @@ #include <vector> #include "base/basictypes.h" +#include "base/compiler_specific.h" #include "chrome/renderer/form_manager.h" #include "chrome/renderer/page_click_listener.h" #include "third_party/WebKit/WebKit/chromium/public/WebNode.h" @@ -130,6 +131,13 @@ class AutoFillHelper : public PageClickListener { // Scans the given frame for forms and sends them up to the browser. void SendForms(WebKit::WebFrame* frame); + // Fills |form| and |field| with the FormData and FormField corresponding to + // |node|. Returns true if the data was found; and false otherwise. + bool FindFormAndFieldForNode( + const WebKit::WebNode& node, + webkit_glue::FormData* form, + webkit_glue::FormField* field) WARN_UNUSED_RESULT; + // Weak reference. RenderView* render_view_; diff --git a/chrome/renderer/form_manager.cc b/chrome/renderer/form_manager.cc index e6c1c9a..f9dd782 100644 --- a/chrome/renderer/form_manager.cc +++ b/chrome/renderer/form_manager.cc @@ -311,6 +311,7 @@ void FormManager::WebFormControlElementToFormField( if (element.formControlType() == WebString::fromUTF8("text")) { const WebInputElement& input_element = element.toConst<WebInputElement>(); field->set_max_length(input_element.maxLength()); + field->set_autofilled(input_element.isAutofilled()); } if (!(extract_mask & EXTRACT_VALUE)) diff --git a/chrome/renderer/form_manager_browsertest.cc b/chrome/renderer/form_manager_browsertest.cc index c1d421c..15f5ce6 100644 --- a/chrome/renderer/form_manager_browsertest.cc +++ b/chrome/renderer/form_manager_browsertest.cc @@ -71,25 +71,29 @@ TEST_F(FormManagerTest, WebFormElementToFormData) { ASCIIToUTF16("firstname"), ASCIIToUTF16("John"), ASCIIToUTF16("text"), - kDefaultMaxLength))); + kDefaultMaxLength, + false))); EXPECT_TRUE(fields[1].StrictlyEqualsHack( FormField(string16(), ASCIIToUTF16("lastname"), ASCIIToUTF16("Smith"), ASCIIToUTF16("text"), - kDefaultMaxLength))); + kDefaultMaxLength, + false))); EXPECT_TRUE(fields[2].StrictlyEqualsHack( FormField(string16(), ASCIIToUTF16("notvisible"), ASCIIToUTF16("apple"), ASCIIToUTF16("hidden"), - 0))); + 0, + false))); EXPECT_TRUE(fields[3].StrictlyEqualsHack( FormField(string16(), ASCIIToUTF16("reply-send"), string16(), ASCIIToUTF16("submit"), - 0))); + 0, + false))); } TEST_F(FormManagerTest, ExtractForms) { @@ -120,19 +124,22 @@ TEST_F(FormManagerTest, ExtractForms) { ASCIIToUTF16("firstname"), ASCIIToUTF16("John"), ASCIIToUTF16("text"), - kDefaultMaxLength), + kDefaultMaxLength, + false), fields[0]); EXPECT_EQ(FormField(string16(), ASCIIToUTF16("lastname"), ASCIIToUTF16("Smith"), ASCIIToUTF16("text"), - kDefaultMaxLength), + kDefaultMaxLength, + false), fields[1]); EXPECT_EQ(FormField(string16(), ASCIIToUTF16("reply-send"), ASCIIToUTF16("Send"), ASCIIToUTF16("submit"), - 0), + 0, + false), fields[2]); } @@ -170,19 +177,22 @@ TEST_F(FormManagerTest, ExtractMultipleForms) { ASCIIToUTF16("firstname"), ASCIIToUTF16("John"), ASCIIToUTF16("text"), - kDefaultMaxLength), + kDefaultMaxLength, + false), fields[0]); EXPECT_EQ(FormField(string16(), ASCIIToUTF16("lastname"), ASCIIToUTF16("Smith"), ASCIIToUTF16("text"), - kDefaultMaxLength), + kDefaultMaxLength, + false), fields[1]); EXPECT_EQ(FormField(string16(), ASCIIToUTF16("reply-send"), ASCIIToUTF16("Send"), ASCIIToUTF16("submit"), - 0), + 0, + false), fields[2]); // Second form. @@ -197,19 +207,22 @@ TEST_F(FormManagerTest, ExtractMultipleForms) { ASCIIToUTF16("firstname"), ASCIIToUTF16("John"), ASCIIToUTF16("text"), - kDefaultMaxLength), + kDefaultMaxLength, + false), fields2[0]); EXPECT_EQ(FormField(string16(), ASCIIToUTF16("lastname"), ASCIIToUTF16("Smith"), ASCIIToUTF16("text"), - kDefaultMaxLength), + kDefaultMaxLength, + false), fields2[1]); EXPECT_EQ(FormField(string16(), ASCIIToUTF16("reply-send"), ASCIIToUTF16("Send"), ASCIIToUTF16("submit"), - 0), + 0, + false), fields2[2]); } @@ -270,19 +283,22 @@ TEST_F(FormManagerTest, GetFormsAutocomplete) { ASCIIToUTF16("middlename"), ASCIIToUTF16("Jack"), ASCIIToUTF16("text"), - kDefaultMaxLength), + kDefaultMaxLength, + false), fields[0]); EXPECT_EQ(FormField(string16(), ASCIIToUTF16("lastname"), ASCIIToUTF16("Smith"), ASCIIToUTF16("text"), - kDefaultMaxLength), + kDefaultMaxLength, + false), fields[1]); EXPECT_EQ(FormField(string16(), ASCIIToUTF16("reply"), ASCIIToUTF16("Send"), ASCIIToUTF16("submit"), - 0), + 0, + false), fields[2]); } @@ -316,19 +332,22 @@ TEST_F(FormManagerTest, GetFormsElementsEnabled) { ASCIIToUTF16("middlename"), ASCIIToUTF16("Jack"), ASCIIToUTF16("text"), - kDefaultMaxLength), + kDefaultMaxLength, + false), fields[0]); EXPECT_EQ(FormField(string16(), ASCIIToUTF16("lastname"), ASCIIToUTF16("Smith"), ASCIIToUTF16("text"), - kDefaultMaxLength), + kDefaultMaxLength, + false), fields[1]); EXPECT_EQ(FormField(string16(), ASCIIToUTF16("submit"), ASCIIToUTF16("Send"), ASCIIToUTF16("submit"), - 0), + 0, + false), fields[2]); } @@ -368,19 +387,22 @@ TEST_F(FormManagerTest, FindForm) { ASCIIToUTF16("firstname"), ASCIIToUTF16("John"), ASCIIToUTF16("text"), - kDefaultMaxLength), + kDefaultMaxLength, + false), fields[0]); EXPECT_EQ(FormField(string16(), ASCIIToUTF16("lastname"), ASCIIToUTF16("Smith"), ASCIIToUTF16("text"), - kDefaultMaxLength), + kDefaultMaxLength, + false), fields[1]); EXPECT_EQ(FormField(string16(), ASCIIToUTF16("reply-send"), ASCIIToUTF16("Send"), ASCIIToUTF16("submit"), - 0), + 0, + false), fields[2]); } @@ -424,43 +446,50 @@ TEST_F(FormManagerTest, FillForm) { ASCIIToUTF16("firstname"), string16(), ASCIIToUTF16("text"), - kDefaultMaxLength), + kDefaultMaxLength, + false), fields[0]); EXPECT_EQ(FormField(string16(), ASCIIToUTF16("lastname"), string16(), ASCIIToUTF16("text"), - kDefaultMaxLength), + kDefaultMaxLength, + false), fields[1]); EXPECT_EQ(FormField(string16(), ASCIIToUTF16("imhidden"), string16(), ASCIIToUTF16("hidden"), - 0), + 0, + false), fields[2]); EXPECT_EQ(FormField(string16(), ASCIIToUTF16("notempty"), ASCIIToUTF16("Hi"), ASCIIToUTF16("text"), - kDefaultMaxLength), + kDefaultMaxLength, + false), fields[3]); EXPECT_EQ(FormField(string16(), ASCIIToUTF16("noautocomplete"), string16(), ASCIIToUTF16("text"), - kDefaultMaxLength), + kDefaultMaxLength, + false), fields[4]); EXPECT_EQ(FormField(string16(), ASCIIToUTF16("notenabled"), string16(), ASCIIToUTF16("text"), - kDefaultMaxLength), + kDefaultMaxLength, + false), fields[5]); EXPECT_EQ(FormField(string16(), ASCIIToUTF16("reply-send"), ASCIIToUTF16("Send"), ASCIIToUTF16("submit"), - 0), + 0, + false), fields[6]); // Fill the form. @@ -551,43 +580,50 @@ TEST_F(FormManagerTest, PreviewForm) { ASCIIToUTF16("firstname"), string16(), ASCIIToUTF16("text"), - kDefaultMaxLength), + kDefaultMaxLength, + false), fields[0]); EXPECT_EQ(FormField(string16(), ASCIIToUTF16("lastname"), string16(), ASCIIToUTF16("text"), - kDefaultMaxLength), + kDefaultMaxLength, + false), fields[1]); EXPECT_EQ(FormField(string16(), ASCIIToUTF16("imhidden"), string16(), ASCIIToUTF16("hidden"), - 0), + 0, + false), fields[2]); EXPECT_EQ(FormField(string16(), ASCIIToUTF16("notempty"), ASCIIToUTF16("Hi"), ASCIIToUTF16("text"), - kDefaultMaxLength), + kDefaultMaxLength, + false), fields[3]); EXPECT_EQ(FormField(string16(), ASCIIToUTF16("noautocomplete"), string16(), ASCIIToUTF16("text"), - kDefaultMaxLength), + kDefaultMaxLength, + false), fields[4]); EXPECT_EQ(FormField(string16(), ASCIIToUTF16("notenabled"), string16(), ASCIIToUTF16("text"), - kDefaultMaxLength), + kDefaultMaxLength, + false), fields[5]); EXPECT_EQ(FormField(string16(), ASCIIToUTF16("reply-send"), ASCIIToUTF16("Send"), ASCIIToUTF16("submit"), - 0), + 0, + false), fields[6]); // Preview the form. @@ -694,19 +730,22 @@ TEST_F(FormManagerTest, Labels) { ASCIIToUTF16("firstname"), ASCIIToUTF16("John"), ASCIIToUTF16("text"), - kDefaultMaxLength))); + kDefaultMaxLength, + false))); EXPECT_TRUE(fields[1].StrictlyEqualsHack( FormField(ASCIIToUTF16("Last name:"), ASCIIToUTF16("lastname"), ASCIIToUTF16("Smith"), ASCIIToUTF16("text"), - kDefaultMaxLength))); + kDefaultMaxLength, + false))); EXPECT_TRUE(fields[2].StrictlyEqualsHack( FormField(string16(), ASCIIToUTF16("reply-send"), string16(), ASCIIToUTF16("submit"), - 0))); + 0, + false))); } TEST_F(FormManagerTest, LabelsWithSpans) { @@ -740,19 +779,22 @@ TEST_F(FormManagerTest, LabelsWithSpans) { ASCIIToUTF16("firstname"), ASCIIToUTF16("John"), ASCIIToUTF16("text"), - kDefaultMaxLength))); + kDefaultMaxLength, + false))); EXPECT_TRUE(fields[1].StrictlyEqualsHack( FormField(ASCIIToUTF16("Last name:"), ASCIIToUTF16("lastname"), ASCIIToUTF16("Smith"), ASCIIToUTF16("text"), - kDefaultMaxLength))); + kDefaultMaxLength, + false))); EXPECT_TRUE(fields[2].StrictlyEqualsHack( FormField(string16(), ASCIIToUTF16("reply-send"), string16(), ASCIIToUTF16("submit"), - 0))); + 0, + false))); } // This test is different from FormManagerTest.Labels in that the label elements @@ -792,19 +834,22 @@ TEST_F(FormManagerTest, InvalidLabels) { ASCIIToUTF16("firstname"), ASCIIToUTF16("John"), ASCIIToUTF16("text"), - kDefaultMaxLength))); + kDefaultMaxLength, + false))); EXPECT_TRUE(fields[1].StrictlyEqualsHack( FormField(ASCIIToUTF16("Last name:"), ASCIIToUTF16("lastname"), ASCIIToUTF16("Smith"), ASCIIToUTF16("text"), - kDefaultMaxLength))); + kDefaultMaxLength, + false))); EXPECT_TRUE(fields[2].StrictlyEqualsHack( FormField(string16(), ASCIIToUTF16("reply-send"), string16(), ASCIIToUTF16("submit"), - 0))); + 0, + false))); } // This test has three form control elements, only one of which has a label @@ -843,19 +888,22 @@ TEST_F(FormManagerTest, OneLabelElementFirstControlElementDisabled) { ASCIIToUTF16("middlename"), string16(), ASCIIToUTF16("text"), - kDefaultMaxLength), + kDefaultMaxLength, + false), fields[0]); EXPECT_EQ(FormField(ASCIIToUTF16("Last name:"), ASCIIToUTF16("lastname"), string16(), ASCIIToUTF16("text"), - kDefaultMaxLength), + kDefaultMaxLength, + false), fields[1]); EXPECT_EQ(FormField(string16(), ASCIIToUTF16("reply-send"), ASCIIToUTF16("Send"), ASCIIToUTF16("submit"), - 0), + 0, + false), fields[2]); } @@ -889,19 +937,22 @@ TEST_F(FormManagerTest, LabelsInferredFromText) { ASCIIToUTF16("firstname"), ASCIIToUTF16("John"), ASCIIToUTF16("text"), - kDefaultMaxLength), + kDefaultMaxLength, + false), fields[0]); EXPECT_EQ(FormField(ASCIIToUTF16("Last name:"), ASCIIToUTF16("lastname"), ASCIIToUTF16("Smith"), ASCIIToUTF16("text"), - kDefaultMaxLength), + kDefaultMaxLength, + false), fields[1]); EXPECT_EQ(FormField(string16(), ASCIIToUTF16("reply-send"), ASCIIToUTF16("Send"), ASCIIToUTF16("submit"), - 0), + 0, + false), fields[2]); } @@ -935,17 +986,20 @@ TEST_F(FormManagerTest, LabelsInferredFromTextHidden) { ASCIIToUTF16("firstname"), ASCIIToUTF16("John"), ASCIIToUTF16("hidden"), - 0))); + 0, + false))); EXPECT_TRUE(fields[1].StrictlyEqualsHack(FormField(string16(), ASCIIToUTF16("lastname"), ASCIIToUTF16("Smith"), ASCIIToUTF16("hidden"), - 0))); + 0, + false))); EXPECT_TRUE(fields[2].StrictlyEqualsHack(FormField(string16(), ASCIIToUTF16("reply-send"), string16(), ASCIIToUTF16("submit"), - 0))); + 0, + false))); } TEST_F(FormManagerTest, LabelsInferredFromParagraph) { @@ -978,19 +1032,22 @@ TEST_F(FormManagerTest, LabelsInferredFromParagraph) { ASCIIToUTF16("firstname"), ASCIIToUTF16("John"), ASCIIToUTF16("text"), - kDefaultMaxLength), + kDefaultMaxLength, + false), fields[0]); EXPECT_EQ(FormField(ASCIIToUTF16("Last name:"), ASCIIToUTF16("lastname"), ASCIIToUTF16("Smith"), ASCIIToUTF16("text"), - kDefaultMaxLength), + kDefaultMaxLength, + false), fields[1]); EXPECT_EQ(FormField(string16(), ASCIIToUTF16("reply-send"), ASCIIToUTF16("Send"), ASCIIToUTF16("submit"), - 0), + 0, + false), fields[2]); } @@ -1035,19 +1092,22 @@ TEST_F(FormManagerTest, LabelsInferredFromTableCell) { ASCIIToUTF16("firstname"), ASCIIToUTF16("John"), ASCIIToUTF16("text"), - kDefaultMaxLength), + kDefaultMaxLength, + false), fields[0]); EXPECT_EQ(FormField(ASCIIToUTF16("Last name:"), ASCIIToUTF16("lastname"), ASCIIToUTF16("Smith"), ASCIIToUTF16("text"), - kDefaultMaxLength), + kDefaultMaxLength, + false), fields[1]); EXPECT_EQ(FormField(string16(), ASCIIToUTF16("reply-send"), ASCIIToUTF16("Send"), ASCIIToUTF16("submit"), - 0), + 0, + false), fields[2]); } @@ -1111,19 +1171,22 @@ TEST_F(FormManagerTest, LabelsInferredFromTableCellNested) { ASCIIToUTF16("firstname"), ASCIIToUTF16("John"), ASCIIToUTF16("text"), - kDefaultMaxLength), + kDefaultMaxLength, + false), fields[0]); EXPECT_EQ(FormField(ASCIIToUTF16("Last name:"), ASCIIToUTF16("lastname"), ASCIIToUTF16("Smith"), ASCIIToUTF16("text"), - kDefaultMaxLength), + kDefaultMaxLength, + false), fields[1]); EXPECT_EQ(FormField(string16(), ASCIIToUTF16("reply-send"), ASCIIToUTF16("Send"), ASCIIToUTF16("submit"), - 0), + 0, + false), fields[2]); } @@ -1180,19 +1243,22 @@ TEST_F(FormManagerTest, LabelsInferredFromTableEmptyTDs) { ASCIIToUTF16("firstname"), ASCIIToUTF16("John"), ASCIIToUTF16("text"), - kDefaultMaxLength), + kDefaultMaxLength, + false), fields[0]); EXPECT_EQ(FormField(ASCIIToUTF16("*Last Name"), ASCIIToUTF16("lastname"), ASCIIToUTF16("Milton"), ASCIIToUTF16("text"), - kDefaultMaxLength), + kDefaultMaxLength, + false), fields[1]); EXPECT_EQ(FormField(string16(), ASCIIToUTF16("reply-send"), ASCIIToUTF16("Send"), ASCIIToUTF16("submit"), - 0), + 0, + false), fields[2]); } @@ -1236,19 +1302,22 @@ TEST_F(FormManagerTest, LabelsInferredFromTableLabels) { ASCIIToUTF16("firstname"), ASCIIToUTF16("John"), ASCIIToUTF16("text"), - kDefaultMaxLength), + kDefaultMaxLength, + false), fields[0]); EXPECT_EQ(FormField(ASCIIToUTF16("Last Name:"), ASCIIToUTF16("lastname"), ASCIIToUTF16("Smith"), ASCIIToUTF16("text"), - kDefaultMaxLength), + kDefaultMaxLength, + false), fields[1]); EXPECT_EQ(FormField(string16(), ASCIIToUTF16("reply-send"), ASCIIToUTF16("Send"), ASCIIToUTF16("submit"), - 0), + 0, + false), fields[2]); } @@ -1294,19 +1363,22 @@ TEST_F(FormManagerTest, LabelsInferredFromTableTDInterveningElements) { ASCIIToUTF16("firstname"), ASCIIToUTF16("John"), ASCIIToUTF16("text"), - kDefaultMaxLength), + kDefaultMaxLength, + false), fields[0]); EXPECT_EQ(FormField(ASCIIToUTF16("Last Name:"), ASCIIToUTF16("lastname"), ASCIIToUTF16("Smith"), ASCIIToUTF16("text"), - kDefaultMaxLength), + kDefaultMaxLength, + false), fields[1]); EXPECT_EQ(FormField(string16(), ASCIIToUTF16("reply-send"), ASCIIToUTF16("Send"), ASCIIToUTF16("submit"), - 0), + 0, + false), fields[2]); } @@ -1367,19 +1439,22 @@ TEST_F(FormManagerTest, LabelsInferredFromDefinitionList) { ASCIIToUTF16("firstname"), ASCIIToUTF16("John"), ASCIIToUTF16("text"), - kDefaultMaxLength), + kDefaultMaxLength, + false), fields[0]); EXPECT_EQ(FormField(ASCIIToUTF16("Last name:"), ASCIIToUTF16("lastname"), ASCIIToUTF16("Smith"), ASCIIToUTF16("text"), - kDefaultMaxLength), + kDefaultMaxLength, + false), fields[1]); EXPECT_EQ(FormField(string16(), ASCIIToUTF16("reply-send"), ASCIIToUTF16("Send"), ASCIIToUTF16("submit"), - 0), + 0, + false), fields[2]); } @@ -1413,19 +1488,22 @@ TEST_F(FormManagerTest, LabelsInferredWithSameName) { ASCIIToUTF16("Address"), string16(), ASCIIToUTF16("text"), - kDefaultMaxLength), + kDefaultMaxLength, + false), fields[0]); EXPECT_EQ(FormField(ASCIIToUTF16("Address Line 2:"), ASCIIToUTF16("Address"), string16(), ASCIIToUTF16("text"), - kDefaultMaxLength), + kDefaultMaxLength, + false), fields[1]); EXPECT_EQ(FormField(string16(), ASCIIToUTF16("reply-send"), ASCIIToUTF16("Send"), ASCIIToUTF16("submit"), - 0), + 0, + false), fields[2]); } @@ -1469,37 +1547,43 @@ TEST_F(FormManagerTest, LabelsInferredWithImageTags) { ASCIIToUTF16("dayphone1"), string16(), ASCIIToUTF16("text"), - kDefaultMaxLength), + kDefaultMaxLength, + false), fields[0]); EXPECT_EQ(FormField(ASCIIToUTF16("-"), ASCIIToUTF16("dayphone2"), string16(), ASCIIToUTF16("text"), - kDefaultMaxLength), + kDefaultMaxLength, + false), fields[1]); EXPECT_EQ(FormField(ASCIIToUTF16("-"), ASCIIToUTF16("dayphone3"), string16(), ASCIIToUTF16("text"), - kDefaultMaxLength), + kDefaultMaxLength, + false), fields[2]); EXPECT_EQ(FormField(ASCIIToUTF16("ext.:"), ASCIIToUTF16("dayphone4"), string16(), ASCIIToUTF16("text"), - kDefaultMaxLength), + kDefaultMaxLength, + false), fields[3]); EXPECT_EQ(FormField(string16(), ASCIIToUTF16("dummy"), string16(), ASCIIToUTF16("text"), - kDefaultMaxLength), + kDefaultMaxLength, + false), fields[4]); EXPECT_EQ(FormField(string16(), ASCIIToUTF16("reply-send"), ASCIIToUTF16("Send"), ASCIIToUTF16("submit"), - 0), + 0, + false), fields[5]); } @@ -1539,19 +1623,22 @@ TEST_F(FormManagerTest, LabelsInferredFromDivTable) { ASCIIToUTF16("firstname"), ASCIIToUTF16("John"), ASCIIToUTF16("text"), - kDefaultMaxLength), + kDefaultMaxLength, + false), fields[0]); EXPECT_EQ(FormField(ASCIIToUTF16("Last Name:"), ASCIIToUTF16("lastname"), string16(), ASCIIToUTF16("text"), - kDefaultMaxLength), + kDefaultMaxLength, + false), fields[1]); EXPECT_EQ(FormField(string16(), ASCIIToUTF16("reply-send"), ASCIIToUTF16("Send"), ASCIIToUTF16("submit"), - 0), + 0, + false), fields[2]); } @@ -1591,19 +1678,22 @@ TEST_F(FormManagerTest, FillFormMaxLength) { ASCIIToUTF16("firstname"), string16(), ASCIIToUTF16("text"), - 5), + 5, + false), fields[0]); EXPECT_EQ(FormField(string16(), ASCIIToUTF16("lastname"), string16(), ASCIIToUTF16("text"), - 5), + 5, + false), fields[1]); EXPECT_EQ(FormField(string16(), ASCIIToUTF16("reply-send"), ASCIIToUTF16("Send"), ASCIIToUTF16("submit"), - 0), + 0, + false), fields[2]); // Fill the form. @@ -1625,19 +1715,22 @@ TEST_F(FormManagerTest, FillFormMaxLength) { ASCIIToUTF16("firstname"), ASCIIToUTF16("Broth"), ASCIIToUTF16("text"), - 5))); + 5, + false))); EXPECT_TRUE(fields2[1].StrictlyEqualsHack( FormField(string16(), ASCIIToUTF16("lastname"), ASCIIToUTF16("Jonat"), ASCIIToUTF16("text"), - 5))); + 5, + false))); EXPECT_TRUE(fields2[2].StrictlyEqualsHack( FormField(string16(), ASCIIToUTF16("reply-send"), string16(), ASCIIToUTF16("submit"), - 0))); + 0, + false))); } // This test uses negative values of the maxlength attribute for input elements. @@ -1679,19 +1772,22 @@ TEST_F(FormManagerTest, FillFormNegativeMaxLength) { ASCIIToUTF16("firstname"), string16(), ASCIIToUTF16("text"), - kDefaultMaxLength), + kDefaultMaxLength, + false), fields[0]); EXPECT_EQ(FormField(string16(), ASCIIToUTF16("lastname"), string16(), ASCIIToUTF16("text"), - kDefaultMaxLength), + kDefaultMaxLength, + false), fields[1]); EXPECT_EQ(FormField(string16(), ASCIIToUTF16("reply-send"), ASCIIToUTF16("Send"), ASCIIToUTF16("submit"), - 0), + 0, + false), fields[2]); // Fill the form. @@ -1714,19 +1810,22 @@ TEST_F(FormManagerTest, FillFormNegativeMaxLength) { ASCIIToUTF16("firstname"), ASCIIToUTF16("Brother"), ASCIIToUTF16("text"), - kDefaultMaxLength))); + kDefaultMaxLength, + false))); EXPECT_TRUE(fields2[1].StrictlyEqualsHack( FormField(string16(), ASCIIToUTF16("lastname"), ASCIIToUTF16("Jonathan"), ASCIIToUTF16("text"), - kDefaultMaxLength))); + kDefaultMaxLength, + false))); EXPECT_TRUE(fields2[2].StrictlyEqualsHack( FormField(string16(), ASCIIToUTF16("reply-send"), string16(), ASCIIToUTF16("submit"), - 0))); + 0, + false))); } // This test sends a FormData object to FillForm with more fields than are in @@ -1765,28 +1864,32 @@ TEST_F(FormManagerTest, FillFormMoreFormDataFields) { ASCIIToUTF16("prefix"), string16(), ASCIIToUTF16("text"), - kDefaultMaxLength); + kDefaultMaxLength, + false); form->fields.insert(form->fields.begin(), field1); FormField field2(string16(), ASCIIToUTF16("hidden"), string16(), ASCIIToUTF16("text"), - kDefaultMaxLength); + kDefaultMaxLength, + false); form->fields.insert(form->fields.begin() + 2, field2); FormField field3(string16(), ASCIIToUTF16("second"), string16(), ASCIIToUTF16("text"), - kDefaultMaxLength); + kDefaultMaxLength, + false); form->fields.insert(form->fields.begin() + 4, field3); FormField field4(string16(), ASCIIToUTF16("postfix"), string16(), ASCIIToUTF16("text"), - kDefaultMaxLength); + kDefaultMaxLength, + false); form->fields.insert(form->fields.begin() + 6, field4); // Fill the form. @@ -1817,22 +1920,26 @@ TEST_F(FormManagerTest, FillFormMoreFormDataFields) { ASCIIToUTF16("firstname"), ASCIIToUTF16("Brother"), ASCIIToUTF16("text"), - kDefaultMaxLength))); + kDefaultMaxLength, + false))); EXPECT_TRUE(fields[1].StrictlyEqualsHack(FormField(string16(), ASCIIToUTF16("middlename"), ASCIIToUTF16("Joseph"), ASCIIToUTF16("text"), - kDefaultMaxLength))); + kDefaultMaxLength, + false))); EXPECT_TRUE(fields[2].StrictlyEqualsHack(FormField(string16(), ASCIIToUTF16("lastname"), ASCIIToUTF16("Jonathan"), ASCIIToUTF16("text"), - kDefaultMaxLength))); + kDefaultMaxLength, + false))); EXPECT_TRUE(fields[3].StrictlyEqualsHack(FormField(string16(), ASCIIToUTF16("reply-send"), string16(), ASCIIToUTF16("submit"), - 0))); + 0, + false))); } // This test sends a FormData object to FillForm with fewer fields than are in @@ -1895,42 +2002,50 @@ TEST_F(FormManagerTest, FillFormFewerFormDataFields) { ASCIIToUTF16("prefix"), string16(), ASCIIToUTF16("text"), - kDefaultMaxLength))); + kDefaultMaxLength, + false))); EXPECT_TRUE(fields[1].StrictlyEqualsHack(FormField(string16(), ASCIIToUTF16("firstname"), ASCIIToUTF16("Brother"), ASCIIToUTF16("text"), - kDefaultMaxLength))); + kDefaultMaxLength, + false))); EXPECT_TRUE(fields[2].StrictlyEqualsHack(FormField(string16(), ASCIIToUTF16("hidden"), string16(), ASCIIToUTF16("text"), - kDefaultMaxLength))); + kDefaultMaxLength, + false))); EXPECT_TRUE(fields[3].StrictlyEqualsHack(FormField(string16(), ASCIIToUTF16("middlename"), ASCIIToUTF16("Joseph"), ASCIIToUTF16("text"), - kDefaultMaxLength))); + kDefaultMaxLength, + false))); EXPECT_TRUE(fields[4].StrictlyEqualsHack(FormField(string16(), ASCIIToUTF16("second"), string16(), ASCIIToUTF16("text"), - kDefaultMaxLength))); + kDefaultMaxLength, + false))); EXPECT_TRUE(fields[5].StrictlyEqualsHack(FormField(string16(), ASCIIToUTF16("lastname"), ASCIIToUTF16("Jonathan"), ASCIIToUTF16("text"), - kDefaultMaxLength))); + kDefaultMaxLength, + false))); EXPECT_TRUE(fields[6].StrictlyEqualsHack(FormField(string16(), ASCIIToUTF16("postfix"), string16(), ASCIIToUTF16("text"), - kDefaultMaxLength))); + kDefaultMaxLength, + false))); EXPECT_TRUE(fields[7].StrictlyEqualsHack(FormField(string16(), ASCIIToUTF16("reply-send"), string16(), ASCIIToUTF16("submit"), - 0))); + 0, + false))); } // This test sends a FormData object to FillForm with a field changed from @@ -1990,22 +2105,26 @@ TEST_F(FormManagerTest, FillFormChangedFormDataFields) { ASCIIToUTF16("firstname"), ASCIIToUTF16("Brother"), ASCIIToUTF16("text"), - kDefaultMaxLength))); + kDefaultMaxLength, + false))); EXPECT_TRUE(fields[1].StrictlyEqualsHack(FormField(string16(), ASCIIToUTF16("middlename"), string16(), ASCIIToUTF16("text"), - kDefaultMaxLength))); + kDefaultMaxLength, + false))); EXPECT_TRUE(fields[2].StrictlyEqualsHack(FormField(string16(), ASCIIToUTF16("lastname"), ASCIIToUTF16("Jonathan"), ASCIIToUTF16("text"), - kDefaultMaxLength))); + kDefaultMaxLength, + false))); EXPECT_TRUE(fields[3].StrictlyEqualsHack(FormField(string16(), ASCIIToUTF16("reply-send"), string16(), ASCIIToUTF16("submit"), - 0))); + 0, + false))); } // This test sends a FormData object to FillForm with fewer fields than are in @@ -2062,27 +2181,32 @@ TEST_F(FormManagerTest, FillFormExtraFieldInCache) { ASCIIToUTF16("firstname"), ASCIIToUTF16("Brother"), ASCIIToUTF16("text"), - kDefaultMaxLength))); + kDefaultMaxLength, + false))); EXPECT_TRUE(fields[1].StrictlyEqualsHack(FormField(string16(), ASCIIToUTF16("middlename"), ASCIIToUTF16("Joseph"), ASCIIToUTF16("text"), - kDefaultMaxLength))); + kDefaultMaxLength, + false))); EXPECT_TRUE(fields[2].StrictlyEqualsHack(FormField(string16(), ASCIIToUTF16("lastname"), ASCIIToUTF16("Jonathan"), ASCIIToUTF16("text"), - kDefaultMaxLength))); + kDefaultMaxLength, + false))); EXPECT_TRUE(fields[3].StrictlyEqualsHack(FormField(string16(), ASCIIToUTF16("postfix"), string16(), ASCIIToUTF16("text"), - kDefaultMaxLength))); + kDefaultMaxLength, + false))); EXPECT_TRUE(fields[4].StrictlyEqualsHack(FormField(string16(), ASCIIToUTF16("reply-send"), string16(), ASCIIToUTF16("submit"), - 0))); + 0, + false))); } TEST_F(FormManagerTest, FillFormEmptyName) { @@ -2121,19 +2245,22 @@ TEST_F(FormManagerTest, FillFormEmptyName) { ASCIIToUTF16("firstname"), string16(), ASCIIToUTF16("text"), - kDefaultMaxLength), + kDefaultMaxLength, + false), fields[0]); EXPECT_EQ(FormField(string16(), ASCIIToUTF16("lastname"), string16(), ASCIIToUTF16("text"), - kDefaultMaxLength), + kDefaultMaxLength, + false), fields[1]); EXPECT_EQ(FormField(string16(), string16(), ASCIIToUTF16("Send"), ASCIIToUTF16("submit"), - 0), + 0, + false), fields[2]); // Fill the form. @@ -2155,19 +2282,22 @@ TEST_F(FormManagerTest, FillFormEmptyName) { ASCIIToUTF16("firstname"), ASCIIToUTF16("Wyatt"), ASCIIToUTF16("text"), - kDefaultMaxLength), + kDefaultMaxLength, + false), fields2[0]); EXPECT_EQ(FormField(string16(), ASCIIToUTF16("lastname"), ASCIIToUTF16("Earp"), ASCIIToUTF16("text"), - kDefaultMaxLength), + kDefaultMaxLength, + false), fields2[1]); EXPECT_EQ(FormField(string16(), string16(), ASCIIToUTF16("Send"), ASCIIToUTF16("submit"), - 0), + 0, + false), fields2[2]); } @@ -2213,19 +2343,22 @@ TEST_F(FormManagerTest, FillFormEmptyFormNames) { ASCIIToUTF16("apple"), string16(), ASCIIToUTF16("text"), - kDefaultMaxLength), + kDefaultMaxLength, + false), fields[0]); EXPECT_EQ(FormField(string16(), ASCIIToUTF16("banana"), string16(), ASCIIToUTF16("text"), - kDefaultMaxLength), + kDefaultMaxLength, + false), fields[1]); EXPECT_EQ(FormField(string16(), string16(), ASCIIToUTF16("Send"), ASCIIToUTF16("submit"), - 0), + 0, + false), fields[2]); // Fill the form. @@ -2247,19 +2380,22 @@ TEST_F(FormManagerTest, FillFormEmptyFormNames) { ASCIIToUTF16("apple"), ASCIIToUTF16("Red"), ASCIIToUTF16("text"), - kDefaultMaxLength), + kDefaultMaxLength, + false), fields2[0]); EXPECT_EQ(FormField(string16(), ASCIIToUTF16("banana"), ASCIIToUTF16("Yellow"), ASCIIToUTF16("text"), - kDefaultMaxLength), + kDefaultMaxLength, + false), fields2[1]); EXPECT_EQ(FormField(string16(), string16(), ASCIIToUTF16("Send"), ASCIIToUTF16("submit"), - 0), + 0, + false), fields2[2]); } @@ -2299,31 +2435,36 @@ TEST_F(FormManagerTest, ThreePartPhone) { ASCIIToUTF16("dayphone1"), string16(), ASCIIToUTF16("text"), - kDefaultMaxLength), + kDefaultMaxLength, + false), fields[0]); EXPECT_EQ(FormField(ASCIIToUTF16("-"), ASCIIToUTF16("dayphone2"), string16(), ASCIIToUTF16("text"), - kDefaultMaxLength), + kDefaultMaxLength, + false), fields[1]); EXPECT_EQ(FormField(ASCIIToUTF16("-"), ASCIIToUTF16("dayphone3"), string16(), ASCIIToUTF16("text"), - kDefaultMaxLength), + kDefaultMaxLength, + false), fields[2]); EXPECT_EQ(FormField(ASCIIToUTF16("ext.:"), ASCIIToUTF16("dayphone4"), string16(), ASCIIToUTF16("text"), - kDefaultMaxLength), + kDefaultMaxLength, + false), fields[3]); EXPECT_EQ(FormField(string16(), ASCIIToUTF16("reply-send"), ASCIIToUTF16("Send"), ASCIIToUTF16("submit"), - 0), + 0, + false), fields[4]); } @@ -2366,45 +2507,52 @@ TEST_F(FormManagerTest, MaxLengthFields) { ASCIIToUTF16("dayphone1"), string16(), ASCIIToUTF16("text"), - 3), + 3, + false), fields[0]); EXPECT_EQ(FormField(ASCIIToUTF16("-"), ASCIIToUTF16("dayphone2"), string16(), ASCIIToUTF16("text"), - 3), + 3, + false), fields[1]); EXPECT_EQ(FormField(ASCIIToUTF16("-"), ASCIIToUTF16("dayphone3"), string16(), ASCIIToUTF16("text"), - 4), + 4, + false), fields[2]); EXPECT_EQ(FormField(ASCIIToUTF16("ext.:"), ASCIIToUTF16("dayphone4"), string16(), ASCIIToUTF16("text"), - 5), + 5, + false), fields[3]); // When unspecified |size|, default is returned. EXPECT_EQ(FormField(string16(), ASCIIToUTF16("default1"), string16(), ASCIIToUTF16("text"), - kDefaultMaxLength), + kDefaultMaxLength, + false), fields[4]); // When invalid |size|, default is returned. EXPECT_EQ(FormField(string16(), ASCIIToUTF16("invalid1"), string16(), ASCIIToUTF16("text"), - kDefaultMaxLength), + kDefaultMaxLength, + false), fields[5]); EXPECT_EQ(FormField(string16(), ASCIIToUTF16("reply-send"), ASCIIToUTF16("Send"), ASCIIToUTF16("submit"), - 0), + 0, + false), fields[6]); } @@ -2450,19 +2598,22 @@ TEST_F(FormManagerTest, FillFormNonEmptyField) { ASCIIToUTF16("firstname"), string16(), ASCIIToUTF16("text"), - kDefaultMaxLength), + kDefaultMaxLength, + false), fields[0]); EXPECT_EQ(FormField(string16(), ASCIIToUTF16("lastname"), string16(), ASCIIToUTF16("text"), - kDefaultMaxLength), + kDefaultMaxLength, + false), fields[1]); EXPECT_EQ(FormField(string16(), string16(), ASCIIToUTF16("Send"), ASCIIToUTF16("submit"), - 0), + 0, + false), fields[2]); // Fill the form. @@ -2484,19 +2635,22 @@ TEST_F(FormManagerTest, FillFormNonEmptyField) { ASCIIToUTF16("firstname"), ASCIIToUTF16("Wyatt"), ASCIIToUTF16("text"), - kDefaultMaxLength), + kDefaultMaxLength, + false), fields2[0]); EXPECT_EQ(FormField(string16(), ASCIIToUTF16("lastname"), ASCIIToUTF16("Earp"), ASCIIToUTF16("text"), - kDefaultMaxLength), + kDefaultMaxLength, + false), fields2[1]); EXPECT_EQ(FormField(string16(), string16(), ASCIIToUTF16("Send"), ASCIIToUTF16("submit"), - 0), + 0, + false), fields2[2]); // Verify that the cursor position has been updated. @@ -2557,37 +2711,43 @@ TEST_F(FormManagerTest, ClearFormWithNode) { ASCIIToUTF16("firstname"), string16(), ASCIIToUTF16("text"), - kDefaultMaxLength))); + kDefaultMaxLength, + false))); EXPECT_TRUE(fields2[1].StrictlyEqualsHack( FormField(string16(), ASCIIToUTF16("lastname"), string16(), ASCIIToUTF16("text"), - kDefaultMaxLength))); + kDefaultMaxLength, + false))); EXPECT_TRUE(fields2[2].StrictlyEqualsHack( FormField(string16(), ASCIIToUTF16("noAC"), string16(), ASCIIToUTF16("text"), - kDefaultMaxLength))); + kDefaultMaxLength, + false))); EXPECT_TRUE(fields2[3].StrictlyEqualsHack( FormField(string16(), ASCIIToUTF16("notenabled"), ASCIIToUTF16("no clear"), ASCIIToUTF16("text"), - kDefaultMaxLength))); + kDefaultMaxLength, + false))); EXPECT_TRUE(fields2[4].StrictlyEqualsHack( FormField(string16(), ASCIIToUTF16("notvisible"), ASCIIToUTF16("apple"), ASCIIToUTF16("hidden"), - 0))); + 0, + false))); EXPECT_TRUE(fields2[5].StrictlyEqualsHack( FormField(string16(), string16(), string16(), ASCIIToUTF16("submit"), - 0))); + 0, + false))); // Verify that the cursor position has been updated. EXPECT_EQ(0, firstname.selectionStart()); @@ -2650,25 +2810,29 @@ TEST_F(FormManagerTest, ClearFormWithNodeContainingSelectOne) { ASCIIToUTF16("firstname"), string16(), ASCIIToUTF16("text"), - kDefaultMaxLength))); + kDefaultMaxLength, + false))); EXPECT_TRUE(fields2[1].StrictlyEqualsHack( FormField(string16(), ASCIIToUTF16("lastname"), string16(), ASCIIToUTF16("text"), - kDefaultMaxLength))); + kDefaultMaxLength, + false))); EXPECT_TRUE(fields2[2].StrictlyEqualsHack( FormField(string16(), ASCIIToUTF16("state"), ASCIIToUTF16("?"), ASCIIToUTF16("select-one"), - 0))); + 0, + false))); EXPECT_TRUE(fields2[3].StrictlyEqualsHack( FormField(string16(), string16(), string16(), ASCIIToUTF16("submit"), - 0))); + 0, + false))); // Verify that the cursor position has been updated. EXPECT_EQ(0, firstname.selectionStart()); @@ -2900,19 +3064,22 @@ TEST_F(FormManagerTest, LabelsHiddenFields) { ASCIIToUTF16("firstname"), ASCIIToUTF16("John"), ASCIIToUTF16("hidden"), - 0))); + 0, + false))); EXPECT_TRUE(fields[1].StrictlyEqualsHack( FormField(string16(), ASCIIToUTF16("lastname"), ASCIIToUTF16("Smith"), ASCIIToUTF16("hidden"), - 0))); + 0, + false))); EXPECT_TRUE(fields[2].StrictlyEqualsHack( FormField(string16(), ASCIIToUTF16("reply-send"), string16(), ASCIIToUTF16("submit"), - 0))); + 0, + false))); } TEST_F(FormManagerTest, LabelForElementHidden) { @@ -2978,25 +3145,29 @@ TEST_F(FormManagerTest, SelectOneAsText) { ASCIIToUTF16("firstname"), ASCIIToUTF16("John"), ASCIIToUTF16("text"), - kDefaultMaxLength))); + kDefaultMaxLength, + false))); EXPECT_TRUE(fields[1].StrictlyEqualsHack( FormField(string16(), ASCIIToUTF16("lastname"), ASCIIToUTF16("Smith"), ASCIIToUTF16("text"), - kDefaultMaxLength))); + kDefaultMaxLength, + false))); EXPECT_TRUE(fields[2].StrictlyEqualsHack( FormField(string16(), ASCIIToUTF16("country"), ASCIIToUTF16("Albania"), ASCIIToUTF16("select-one"), - 0))); + 0, + false))); EXPECT_TRUE(fields[3].StrictlyEqualsHack( FormField(string16(), ASCIIToUTF16("reply-send"), string16(), ASCIIToUTF16("submit"), - 0))); + 0, + false))); form.fields.clear(); // Extract the country select-one value as value. @@ -3014,25 +3185,29 @@ TEST_F(FormManagerTest, SelectOneAsText) { ASCIIToUTF16("firstname"), ASCIIToUTF16("John"), ASCIIToUTF16("text"), - kDefaultMaxLength))); + kDefaultMaxLength, + false))); EXPECT_TRUE(fields[1].StrictlyEqualsHack( FormField(string16(), ASCIIToUTF16("lastname"), ASCIIToUTF16("Smith"), ASCIIToUTF16("text"), - kDefaultMaxLength))); + kDefaultMaxLength, + false))); EXPECT_TRUE(fields[2].StrictlyEqualsHack( FormField(string16(), ASCIIToUTF16("country"), ASCIIToUTF16("AL"), ASCIIToUTF16("select-one"), - 0))); + 0, + false))); EXPECT_TRUE(fields[3].StrictlyEqualsHack( FormField(string16(), ASCIIToUTF16("reply-send"), string16(), ASCIIToUTF16("submit"), - 0))); + 0, + false))); } } // namespace diff --git a/chrome/renderer/password_autocomplete_manager_unittest.cc b/chrome/renderer/password_autocomplete_manager_unittest.cc index 1539757..b4ba36c 100644 --- a/chrome/renderer/password_autocomplete_manager_unittest.cc +++ b/chrome/renderer/password_autocomplete_manager_unittest.cc @@ -76,10 +76,10 @@ class PasswordAutocompleteManagerTest : public RenderViewTest { fill_data_.basic_data.fields.push_back( FormField(string16(), ASCIIToUTF16(kUsernameName), - username1_, string16(), 0)); + username1_, string16(), 0, false)); fill_data_.basic_data.fields.push_back( FormField(string16(), ASCIIToUTF16(kPasswordName), - password1_, string16(), 0)); + password1_, string16(), 0, false)); fill_data_.additional_logins[username2_] = password2_; fill_data_.additional_logins[username3_] = password3_; diff --git a/chrome/renderer/render_view_browsertest.cc b/chrome/renderer/render_view_browsertest.cc index 5e9360a..59bbe6e 100644 --- a/chrome/renderer/render_view_browsertest.cc +++ b/chrome/renderer/render_view_browsertest.cc @@ -1038,19 +1038,22 @@ TEST_F(RenderViewTest, SendForms) { ASCIIToUTF16("firstname"), string16(), ASCIIToUTF16("text"), - kDefaultMaxLength))) << forms[0].fields[0]; + kDefaultMaxLength, + false))) << forms[0].fields[0]; EXPECT_TRUE(forms[0].fields[1].StrictlyEqualsHack( FormField(string16(), ASCIIToUTF16("middlename"), string16(), ASCIIToUTF16("text"), - kDefaultMaxLength))) << forms[0].fields[1]; + kDefaultMaxLength, + false))) << forms[0].fields[1]; EXPECT_TRUE(forms[0].fields[2].StrictlyEqualsHack( FormField(string16(), ASCIIToUTF16("lastname"), string16(), ASCIIToUTF16("hidden"), - 0))) << forms[0].fields[2]; + 0, + false))) << forms[0].fields[2]; // Verify that |didAcceptAutoFillSuggestion()| sends the expected number of // fields. @@ -1081,19 +1084,22 @@ TEST_F(RenderViewTest, SendForms) { ASCIIToUTF16("firstname"), string16(), ASCIIToUTF16("text"), - kDefaultMaxLength))) << form2.fields[0]; + kDefaultMaxLength, + false))) << form2.fields[0]; EXPECT_TRUE(form2.fields[1].StrictlyEqualsHack( FormField(string16(), ASCIIToUTF16("middlename"), string16(), ASCIIToUTF16("text"), - kDefaultMaxLength))) << form2.fields[1]; + kDefaultMaxLength, + false))) << form2.fields[1]; EXPECT_TRUE(form2.fields[2].StrictlyEqualsHack( FormField(string16(), ASCIIToUTF16("lastname"), string16(), ASCIIToUTF16("hidden"), - 0))) << form2.fields[2]; + 0, + false))) << form2.fields[2]; } TEST_F(RenderViewTest, FillFormElement) { @@ -1122,13 +1128,15 @@ TEST_F(RenderViewTest, FillFormElement) { ASCIIToUTF16("firstname"), string16(), ASCIIToUTF16("text"), - kDefaultMaxLength))) << forms[0].fields[0]; + kDefaultMaxLength, + false))) << forms[0].fields[0]; EXPECT_TRUE(forms[0].fields[1].StrictlyEqualsHack( FormField(string16(), ASCIIToUTF16("middlename"), string16(), ASCIIToUTF16("text"), - kDefaultMaxLength))) << forms[0].fields[1]; + kDefaultMaxLength, + false))) << forms[0].fields[1]; // Verify that |didAcceptAutoFillSuggestion()| sets the value of the expected // field. |