Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(130)

Unified Diff: chrome/browser/autofill/address_field.cc

Issue 7038003: Refactor autofill form fields. (Closed) Base URL: http://git.chromium.org/git/chromium.git@trunk
Patch Set: Created 9 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | chrome/browser/autofill/credit_card_field.cc » ('j') | webkit/glue/form_field.h » ('J')
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/autofill/address_field.cc
diff --git a/chrome/browser/autofill/address_field.cc b/chrome/browser/autofill/address_field.cc
index 4624fa515ce2e8279e9cb88e09c9506e71942716..af5ee7843f1f607fb9dbbd0c0f9afd3cf5ac4a5f 100644
--- a/chrome/browser/autofill/address_field.cc
+++ b/chrome/browser/autofill/address_field.cc
@@ -85,8 +85,10 @@ AddressField* AddressField::Parse(AutofillScanner* scanner, bool is_ecml) {
ParseZipCode(scanner, is_ecml, address_field.get()) ||
ParseCountry(scanner, is_ecml, address_field.get())) {
continue;
- } else if (ParseText(scanner, attention_ignored) ||
- ParseText(scanner, region_ignored)) {
+ } else if (ParseText(scanner, attention_ignored,
+ MATCH_NAME | MATCH_LABEL | MATCH_TEXT) ||
+ ParseText(scanner, region_ignored,
+ MATCH_NAME | MATCH_LABEL | MATCH_TEXT)) {
// We ignore the following:
// * Attention.
// * Province/Region/Other.
@@ -166,7 +168,8 @@ bool AddressField::ParseCompany(AutofillScanner* scanner,
pattern = l10n_util::GetStringUTF16(IDS_AUTOFILL_COMPANY_RE);
}
- return ParseText(scanner, pattern, &address_field->company_);
+ return ParseText(scanner, pattern, MATCH_NAME | MATCH_LABEL | MATCH_TEXT,
+ &address_field->company_);
}
// static
@@ -187,15 +190,18 @@ bool AddressField::ParseAddressLines(AutofillScanner* scanner,
string16 pattern;
if (is_ecml) {
pattern = GetEcmlPattern(kEcmlShipToAddress1, kEcmlBillToAddress1, '|');
- if (!ParseText(scanner, pattern, &address_field->address1_))
+ if (!ParseText(scanner, pattern, MATCH_NAME | MATCH_LABEL | MATCH_TEXT,
+ &address_field->address1_))
return false;
} else {
pattern = l10n_util::GetStringUTF16(IDS_AUTOFILL_ADDRESS_LINE_1_RE);
string16 label_pattern =
l10n_util::GetStringUTF16(IDS_AUTOFILL_ADDRESS_LINE_1_LABEL_RE);
- if (!ParseText(scanner, pattern, &address_field->address1_) &&
- !ParseLabelText(scanner, label_pattern, &address_field->address1_))
+ if (!ParseText(scanner, pattern, MATCH_NAME | MATCH_LABEL | MATCH_TEXT,
+ &address_field->address1_) &&
+ !ParseText(scanner, label_pattern, MATCH_LABEL | MATCH_TEXT,
+ &address_field->address1_))
return false;
}
@@ -205,25 +211,29 @@ bool AddressField::ParseAddressLines(AutofillScanner* scanner,
if (is_ecml) {
pattern = GetEcmlPattern(kEcmlShipToAddress2, kEcmlBillToAddress2, '|');
if (!ParseEmptyText(scanner, &address_field->address2_))
- ParseText(scanner, pattern, &address_field->address2_);
+ ParseText(scanner, pattern, MATCH_NAME | MATCH_LABEL | MATCH_TEXT,
+ &address_field->address2_);
} else {
pattern = l10n_util::GetStringUTF16(IDS_AUTOFILL_ADDRESS_LINE_2_RE);
string16 label_pattern =
l10n_util::GetStringUTF16(IDS_AUTOFILL_ADDRESS_LINE_1_LABEL_RE);
if (!ParseEmptyText(scanner, &address_field->address2_) &&
- !ParseText(scanner, pattern, &address_field->address2_))
- ParseLabelText(scanner, label_pattern, &address_field->address2_);
+ !ParseText(scanner, pattern, MATCH_NAME | MATCH_LABEL | MATCH_TEXT,
+ &address_field->address2_))
+ ParseText(scanner, label_pattern, MATCH_LABEL | MATCH_TEXT,
+ &address_field->address2_);
}
// Try for a third line, which we will promptly discard.
if (address_field->address2_ != NULL) {
if (is_ecml) {
pattern = GetEcmlPattern(kEcmlShipToAddress3, kEcmlBillToAddress3, '|');
- ParseText(scanner, pattern);
+ ParseText(scanner, pattern, MATCH_NAME | MATCH_LABEL | MATCH_TEXT);
} else {
pattern = l10n_util::GetStringUTF16(IDS_AUTOFILL_ADDRESS_LINE_3_RE);
if (!ParseEmptyText(scanner, NULL))
- ParseText(scanner, pattern, NULL);
+ ParseText(scanner, pattern,
+ MATCH_NAME | MATCH_LABEL | MATCH_TEXT, NULL);
}
}
@@ -246,7 +256,9 @@ bool AddressField::ParseCountry(AutofillScanner* scanner,
else
pattern = l10n_util::GetStringUTF16(IDS_AUTOFILL_COUNTRY_RE);
- return ParseText(scanner, pattern, &address_field->country_);
+ return ParseText(scanner, pattern,
+ MATCH_NAME | MATCH_LABEL | MATCH_TEXT | MATCH_SELECT,
+ &address_field->country_);
}
// static
@@ -285,7 +297,8 @@ bool AddressField::ParseZipCode(AutofillScanner* scanner,
tempType = kGenericAddress;
}
- if (!ParseText(scanner, pattern, &address_field->zip_))
+ if (!ParseText(scanner, pattern, MATCH_NAME | MATCH_LABEL | MATCH_TEXT,
+ &address_field->zip_))
return false;
address_field->type_ = tempType;
@@ -294,6 +307,7 @@ bool AddressField::ParseZipCode(AutofillScanner* scanner,
// the substring "zip".
ParseText(scanner,
l10n_util::GetStringUTF16(IDS_AUTOFILL_ZIP_4_RE),
+ MATCH_NAME | MATCH_LABEL | MATCH_TEXT,
&address_field->zip4_);
}
@@ -315,7 +329,9 @@ bool AddressField::ParseCity(AutofillScanner* scanner,
else
pattern = l10n_util::GetStringUTF16(IDS_AUTOFILL_CITY_RE);
- return ParseText(scanner, pattern, &address_field->city_);
+ return ParseText(scanner, pattern,
+ MATCH_NAME | MATCH_LABEL | MATCH_TEXT | MATCH_SELECT,
+ &address_field->city_);
}
// static
@@ -331,7 +347,9 @@ bool AddressField::ParseState(AutofillScanner* scanner,
else
pattern = l10n_util::GetStringUTF16(IDS_AUTOFILL_STATE_RE);
- return ParseText(scanner, pattern, &address_field->state_);
+ return ParseText(scanner, pattern,
+ MATCH_NAME | MATCH_LABEL | MATCH_TEXT | MATCH_SELECT,
+ &address_field->state_);
}
AddressType AddressField::AddressTypeFromText(const string16 &text) {
« no previous file with comments | « no previous file | chrome/browser/autofill/credit_card_field.cc » ('j') | webkit/glue/form_field.h » ('J')

Powered by Google App Engine
This is Rietveld 408576698