Commit 96426c81 authored by isherman@chromium.org's avatar isherman@chromium.org

When an element has multiple labels for Autofill, separate them with spaces.

BUG=none
TEST=browser_tests --gtest_filter=FormManagerTest.MultipleLabelsPerElement


Review URL: http://codereview.chromium.org/7541059

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@95732 0039d316-1c4b-4281-b951-d872f2087c98
parent a64c3cf0
...@@ -764,10 +764,15 @@ bool FormManager::WebFormElementToFormData(const WebFormElement& element, ...@@ -764,10 +764,15 @@ bool FormManager::WebFormElementToFormData(const WebFormElement& element,
} }
std::map<string16, FormField*>::iterator iter = name_map.find(element_name); std::map<string16, FormField*>::iterator iter = name_map.find(element_name);
// Concatenate labels because some sites might have multiple label if (iter != name_map.end()) {
// candidates. string16 label_text = FindChildText(label);
if (iter != name_map.end())
iter->second->label += FindChildText(label); // Concatenate labels because some sites might have multiple label
// candidates.
if (!iter->second->label.empty() && !label_text.empty())
iter->second->label += ASCIIToUTF16(" ");
iter->second->label += label_text;
}
} }
// Loop through the form control elements, extracting the label text from // Loop through the form control elements, extracting the label text from
......
...@@ -3210,7 +3210,7 @@ TEST_F(FormManagerTest, MultipleLabelsPerElement) { ...@@ -3210,7 +3210,7 @@ TEST_F(FormManagerTest, MultipleLabelsPerElement) {
names.push_back(ASCIIToUTF16("lastname")); names.push_back(ASCIIToUTF16("lastname"));
values.push_back(ASCIIToUTF16("Smith")); values.push_back(ASCIIToUTF16("Smith"));
labels.push_back(ASCIIToUTF16("Email:xxx@yyy.com")); labels.push_back(ASCIIToUTF16("Email: xxx@yyy.com"));
names.push_back(ASCIIToUTF16("email")); names.push_back(ASCIIToUTF16("email"));
values.push_back(ASCIIToUTF16("john@example.com")); values.push_back(ASCIIToUTF16("john@example.com"));
......
...@@ -14,8 +14,8 @@ NAME_LAST | lastName | Last Name* | ...@@ -14,8 +14,8 @@ NAME_LAST | lastName | Last Name* |
ADDRESS_HOME_LINE1 | address1 | Street Address Line 1* | ADDRESS_HOME_LINE1 | address1 | Street Address Line 1* |
ADDRESS_HOME_LINE2 | address2 | Street Address Line 2 | ADDRESS_HOME_LINE2 | address2 | Street Address Line 2 |
ADDRESS_HOME_CITY | city | City* | ADDRESS_HOME_CITY | city | City* |
ADDRESS_HOME_STATE | state | State*State* | AL ADDRESS_HOME_STATE | state | State* State* | AL
ADDRESS_HOME_ZIP | zipCode | ZIP Code*ZIP Code* | ADDRESS_HOME_ZIP | zipCode | ZIP Code* ZIP Code* |
PHONE_HOME_WHOLE_NUMBER | day1 | Phone Number* | PHONE_HOME_WHOLE_NUMBER | day1 | Phone Number* |
UNKNOWN_TYPE | ext1 | Ext. | UNKNOWN_TYPE | ext1 | Ext. |
ADDRESS_HOME_STATE | county | CountyCounty | UNKNOWN ADDRESS_HOME_STATE | county | County County | UNKNOWN
NAME_FIRST | firstname | FirstLast | NAME_FIRST | firstname | First Last |
NAME_LAST | lastname | | NAME_LAST | lastname | |
ADDRESS_HOME_LINE1 | address1 | Street Address | ADDRESS_HOME_LINE1 | address1 | Street Address |
ADDRESS_HOME_CITY | city | City | ADDRESS_HOME_CITY | city | City |
......
UNKNOWN_TYPE | create_username | Desired username | UNKNOWN_TYPE | create_username | Desired username |
EMAIL_ADDRESS | email | Email | EMAIL_ADDRESS | email | Email |
UNKNOWN_TYPE | recaptcha_response_field | Type the words aboveType the numbers you hear | UNKNOWN_TYPE | recaptcha_response_field | Type the words above Type the numbers you hear |
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment