diff options
author | dhollowa@chromium.org <dhollowa@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-06-22 15:50:30 +0000 |
---|---|---|
committer | dhollowa@chromium.org <dhollowa@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-06-22 15:50:30 +0000 |
commit | d4905bc202830644fb80f7491343b30afc0487e0 (patch) | |
tree | d307d823ed53dc9c011479a1406f95d7c4fcd39f | |
parent | 1317f7aafd5b402c5931bdf7435d611976b5a853 (diff) | |
download | chromium_src-d4905bc202830644fb80f7491343b30afc0487e0.zip chromium_src-d4905bc202830644fb80f7491343b30afc0487e0.tar.gz chromium_src-d4905bc202830644fb80f7491343b30afc0487e0.tar.bz2 |
Autofill heuristics checkout files for 06_checkout_urbanoutfitters.com.html
Extends heuristics engine to look at field values. Tweaks regexes to match idioms in this form.
BUG=86606
TEST=FormStructureBrowserTest.* with 06_checkout_urbanoutfitters.com.html
Review URL: http://codereview.chromium.org/7206069
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@90034 0039d316-1c4b-4281-b951-d872f2087c98
4 files changed, 23 insertions, 17 deletions
diff --git a/chrome/browser/autofill/autofill_resources.grd b/chrome/browser/autofill/autofill_resources.grd index 309a363..66eca35 100644 --- a/chrome/browser/autofill/autofill_resources.grd +++ b/chrome/browser/autofill/autofill_resources.grd @@ -34,7 +34,7 @@ province|region|other<!-- es -->|provincia<!-- pt-BR, pt-PT -->|bairro|suburb </message> <message name="IDS_AUTOFILL_COUNTRY_RE"> - country|location<!-- ja-JP -->|国<!-- zh-CN -->|国家<!-- ko-KR -->|국가|나라 + country|countries|location<!-- ja-JP -->|国<!-- zh-CN -->|国家<!-- ko-KR -->|국가|나라 </message> <message name="IDS_AUTOFILL_ZIP_CODE_RE"> zip|postal|post.*code|pcode|^1z$<!-- de-DE -->|postleitzahl<!-- es -->|\bcp\b<!-- fr-FR -->|cdp<!-- it-IT -->|\bcap\b<!-- ja-JP -->|郵便番号<!-- pt-BR, pt-PT -->|codigo|codpos|cep<!-- ru -->|Почтовый.?Индекс<!--zh-CN -->|邮政编码|邮编<!-- zh-TW -->|郵遞區號<!-- ko-KR -->|우편.?번호 @@ -46,7 +46,7 @@ city|town<!-- de-DE -->|\bort\b|stadt<!-- en-AU -->|suburb<!-- es -->|ciudad|provincia|localidad|poblacion<!-- fr-FR -->|ville|commune<!-- it-IT -->|localita<!-- ja-JP -->|市区町村<!-- pt-BR, pt-PT -->|cidade<!-- ru -->|Город<!-- zh-CN -->|市<!-- zh-TW -->|分區<!-- ko-KR -->|^시[^도·・]|시[·・]?군[·・]?구 </message> <message name="IDS_AUTOFILL_STATE_RE"> - state|county|region|province<!-- de-DE -->|land<!-- en-UK -->|county|principality<!-- ja-JP -->|都道府県<!-- pt-BR, pt-PT -->|estado|provincia<!-- ru -->|область<!-- zh-CN -->|省<!-- zh-TW -->|地區<!-- ko-KR -->|^시[·・]?도 + (?<!united )state|county|region|province<!-- de-DE -->|land<!-- en-UK -->|county|principality<!-- ja-JP -->|都道府県<!-- pt-BR, pt-PT -->|estado|provincia<!-- ru -->|область<!-- zh-CN -->|省<!-- zh-TW -->|地區<!-- ko-KR -->|^시[·・]?도 </message> <message name="IDS_AUTOFILL_ADDRESS_TYPE_SAME_AS_RE"> same as @@ -70,7 +70,7 @@ name </message> <message name="IDS_AUTOFILL_CARD_NUMBER_RE"> - number|card.?#|card.?no|ccnum<!-- de-DE -->|nummer<!-- es -->|credito|numero|número<!-- fr-FR -->|numéro<!-- ja-JP -->|カード番号<!-- ru -->|Номер.*карты<!-- zh-CN -->|信用卡号|信用卡号码<!-- zh-TW -->|信用卡卡號<!-- ko-KR -->|카드 + number|card.?#|card.?no|ccnum|acctnum<!-- de-DE -->|nummer<!-- es -->|credito|numero|número<!-- fr-FR -->|numéro<!-- ja-JP -->|カード番号<!-- ru -->|Номер.*карты<!-- zh-CN -->|信用卡号|信用卡号码<!-- zh-TW -->|信用卡卡號<!-- ko-KR -->|카드 </message> <message name="IDS_AUTOFILL_CARD_CVC_RE"> verification|card identification|security code|cvn|cvv|cvc diff --git a/chrome/browser/autofill/form_field.cc b/chrome/browser/autofill/form_field.cc index eaffc16..edcd292 100644 --- a/chrome/browser/autofill/form_field.cc +++ b/chrome/browser/autofill/form_field.cc @@ -161,6 +161,11 @@ bool FormField::Match(const AutofillField* field, return true; } + if ((match_type & FormField::MATCH_VALUE) && + autofill::MatchesPattern(field->value, pattern)) { + return true; + } + return false; } diff --git a/chrome/browser/autofill/form_field.h b/chrome/browser/autofill/form_field.h index 6086a27..f4691a8 100644 --- a/chrome/browser/autofill/form_field.h +++ b/chrome/browser/autofill/form_field.h @@ -37,17 +37,18 @@ class FormField { // Attributes. MATCH_LABEL = 1 << 0, MATCH_NAME = 1 << 1, + MATCH_VALUE = 1 << 2, // Input types. - MATCH_TEXT = 1 << 2, - MATCH_EMAIL = 1 << 3, - MATCH_TELEPHONE = 1 << 4, - MATCH_SELECT = 1 << 5, + MATCH_TEXT = 1 << 3, + MATCH_EMAIL = 1 << 4, + MATCH_TELEPHONE = 1 << 5, + MATCH_SELECT = 1 << 6, MATCH_ALL_INPUTS = MATCH_TEXT | MATCH_EMAIL | MATCH_TELEPHONE | MATCH_SELECT, // By default match label and name for input/text types. - MATCH_DEFAULT = MATCH_LABEL | MATCH_NAME | MATCH_TEXT, + MATCH_DEFAULT = MATCH_LABEL | MATCH_NAME | MATCH_VALUE | MATCH_TEXT, }; // Only derived classes may instantiate. diff --git a/chrome/test/data/autofill/heuristics/output/06_checkout_urbanoutfitters.com.out b/chrome/test/data/autofill/heuristics/output/06_checkout_urbanoutfitters.com.out index 87068f9..eb1ee4b 100644 --- a/chrome/test/data/autofill/heuristics/output/06_checkout_urbanoutfitters.com.out +++ b/chrome/test/data/autofill/heuristics/output/06_checkout_urbanoutfitters.com.out @@ -1,27 +1,27 @@ UNKNOWN_TYPE NAME_FIRST NAME_LAST -UNKNOWN_TYPE -UNKNOWN_TYPE +ADDRESS_HOME_LINE1 +ADDRESS_HOME_LINE2 ADDRESS_HOME_CITY ADDRESS_HOME_STATE ADDRESS_HOME_ZIP -UNKNOWN_TYPE +ADDRESS_HOME_COUNTRY PHONE_HOME_WHOLE_NUMBER PHONE_HOME_WHOLE_NUMBER NAME_FIRST NAME_LAST -UNKNOWN_TYPE -UNKNOWN_TYPE +ADDRESS_BILLING_LINE1 +ADDRESS_BILLING_LINE2 ADDRESS_BILLING_CITY ADDRESS_BILLING_STATE ADDRESS_BILLING_ZIP -UNKNOWN_TYPE +ADDRESS_BILLING_COUNTRY PHONE_HOME_WHOLE_NUMBER PHONE_HOME_WHOLE_NUMBER UNKNOWN_TYPE UNKNOWN_TYPE -UNKNOWN_TYPE -UNKNOWN_TYPE -UNKNOWN_TYPE +CREDIT_CARD_NUMBER +CREDIT_CARD_EXP_MONTH +CREDIT_CARD_EXP_4_DIGIT_YEAR UNKNOWN_TYPE |