OLD | NEW |
---|---|
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "chrome/browser/autofill/name_field.h" | 5 #include "chrome/browser/autofill/name_field.h" |
6 | 6 |
7 #include "base/logging.h" | 7 #include "base/logging.h" |
8 #include "base/memory/scoped_ptr.h" | 8 #include "base/memory/scoped_ptr.h" |
9 #include "base/string_util.h" | 9 #include "base/string_util.h" |
10 #include "base/utf_string_conversions.h" | 10 #include "base/utf_string_conversions.h" |
(...skipping 132 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
143 // dell_checkout1.html). At least one UK page (The China Shop2.html) | 143 // dell_checkout1.html). At least one UK page (The China Shop2.html) |
144 // asks, in stuffy English style, for just initials and a surname, | 144 // asks, in stuffy English style, for just initials and a surname, |
145 // so we match "initials" here (and just fill in a first name there, | 145 // so we match "initials" here (and just fill in a first name there, |
146 // American-style). | 146 // American-style). |
147 // The ".*first$" matches fields ending in "first" (example in sample8.html). | 147 // The ".*first$" matches fields ending in "first" (example in sample8.html). |
148 // The ".*last$" matches fields ending in "last" (example in sample8.html). | 148 // The ".*last$" matches fields ending in "last" (example in sample8.html). |
149 | 149 |
150 // Allow name fields to appear in any order. | 150 // Allow name fields to appear in any order. |
151 while (!scanner->IsEnd()) { | 151 while (!scanner->IsEnd()) { |
152 // Skip over any unrelated fields, e.g. "username" or "nickname". | 152 // Skip over any unrelated fields, e.g. "username" or "nickname". |
153 if (ParseField(scanner, | 153 if (ParseFieldSpecifics(scanner, |
154 l10n_util::GetStringUTF16(IDS_AUTOFILL_NAME_IGNORED_RE), | 154 l10n_util::GetStringUTF16(IDS_AUTOFILL_NAME_IGNORED_RE), |
155 NULL)) { | 155 MATCH_DEFAULT | MATCH_SELECT, NULL)) { |
Ilya Sherman
2011/08/03 07:27:26
nit: Please either indent to the parenthesis or by
| |
156 continue; | 156 continue; |
157 } | 157 } |
158 | 158 |
159 if (!v->first_name_ && | 159 if (!v->first_name_ && |
160 ParseField(scanner, | 160 ParseField(scanner, |
161 l10n_util::GetStringUTF16(IDS_AUTOFILL_FIRST_NAME_RE), | 161 l10n_util::GetStringUTF16(IDS_AUTOFILL_FIRST_NAME_RE), |
162 &v->first_name_)) { | 162 &v->first_name_)) { |
163 continue; | 163 continue; |
164 } | 164 } |
165 | 165 |
(...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
241 middle_initial_(false) { | 241 middle_initial_(false) { |
242 } | 242 } |
243 | 243 |
244 bool FirstLastNameField::ClassifyField(FieldTypeMap* map) const { | 244 bool FirstLastNameField::ClassifyField(FieldTypeMap* map) const { |
245 bool ok = AddClassification(first_name_, NAME_FIRST, map); | 245 bool ok = AddClassification(first_name_, NAME_FIRST, map); |
246 ok = ok && AddClassification(last_name_, NAME_LAST, map); | 246 ok = ok && AddClassification(last_name_, NAME_LAST, map); |
247 AutofillFieldType type = middle_initial_ ? NAME_MIDDLE_INITIAL : NAME_MIDDLE; | 247 AutofillFieldType type = middle_initial_ ? NAME_MIDDLE_INITIAL : NAME_MIDDLE; |
248 ok = ok && AddClassification(middle_name_, type, map); | 248 ok = ok && AddClassification(middle_name_, type, map); |
249 return ok; | 249 return ok; |
250 } | 250 } |
OLD | NEW |