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

Side by Side Diff: chrome/browser/autofill/autofill_type.cc

Issue 12434004: Move remaining Autofill code to //components/autofill. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix long lines Created 7 years, 9 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
(Empty)
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
3 // found in the LICENSE file.
4
5 #include "chrome/browser/autofill/autofill_type.h"
6
7 #include <ostream>
8
9 #include "base/logging.h"
10
11 AutofillType::AutofillType(AutofillFieldType field_type) {
12 if ((field_type < NO_SERVER_DATA || field_type >= MAX_VALID_FIELD_TYPE) ||
13 (field_type >= 15 && field_type <= 19) ||
14 (field_type >= 25 && field_type <= 29) ||
15 (field_type >= 44 && field_type <= 50))
16 field_type_ = UNKNOWN_TYPE;
17 else
18 field_type_ = field_type;
19 }
20
21 AutofillType::AutofillType(const AutofillType& autofill_type) {
22 *this = autofill_type;
23 }
24
25 AutofillType& AutofillType::operator=(const AutofillType& autofill_type) {
26 if (this != &autofill_type)
27 this->field_type_ = autofill_type.field_type_;
28 return *this;
29 }
30
31 AutofillFieldType AutofillType::field_type() const {
32 return field_type_;
33 }
34
35 FieldTypeGroup AutofillType::group() const {
36 switch (field_type_) {
37 case NAME_FIRST:
38 case NAME_MIDDLE:
39 case NAME_LAST:
40 case NAME_MIDDLE_INITIAL:
41 case NAME_FULL:
42 case NAME_SUFFIX:
43 return NAME;
44
45 case EMAIL_ADDRESS:
46 return EMAIL;
47
48 case PHONE_HOME_NUMBER:
49 case PHONE_HOME_CITY_CODE:
50 case PHONE_HOME_COUNTRY_CODE:
51 case PHONE_HOME_CITY_AND_NUMBER:
52 case PHONE_HOME_WHOLE_NUMBER:
53 return PHONE;
54
55 case ADDRESS_HOME_LINE1:
56 case ADDRESS_HOME_LINE2:
57 case ADDRESS_HOME_APT_NUM:
58 case ADDRESS_HOME_CITY:
59 case ADDRESS_HOME_STATE:
60 case ADDRESS_HOME_ZIP:
61 case ADDRESS_HOME_COUNTRY:
62 return ADDRESS_HOME;
63
64 case ADDRESS_BILLING_LINE1:
65 case ADDRESS_BILLING_LINE2:
66 case ADDRESS_BILLING_APT_NUM:
67 case ADDRESS_BILLING_CITY:
68 case ADDRESS_BILLING_STATE:
69 case ADDRESS_BILLING_ZIP:
70 case ADDRESS_BILLING_COUNTRY:
71 return ADDRESS_BILLING;
72
73 case CREDIT_CARD_NAME:
74 case CREDIT_CARD_NUMBER:
75 case CREDIT_CARD_EXP_MONTH:
76 case CREDIT_CARD_EXP_2_DIGIT_YEAR:
77 case CREDIT_CARD_EXP_4_DIGIT_YEAR:
78 case CREDIT_CARD_EXP_DATE_2_DIGIT_YEAR:
79 case CREDIT_CARD_EXP_DATE_4_DIGIT_YEAR:
80 case CREDIT_CARD_TYPE:
81 case CREDIT_CARD_VERIFICATION_CODE:
82 return CREDIT_CARD;
83
84 case COMPANY_NAME:
85 return COMPANY;
86
87 default:
88 return NO_GROUP;
89 }
90 }
91
92 // static
93 AutofillFieldType AutofillType::GetEquivalentFieldType(
94 AutofillFieldType field_type) {
95 // When billing information is requested from the profile we map to the
96 // home address equivalents.
97 switch (field_type) {
98 case ADDRESS_BILLING_LINE1:
99 return ADDRESS_HOME_LINE1;
100
101 case ADDRESS_BILLING_LINE2:
102 return ADDRESS_HOME_LINE2;
103
104 case ADDRESS_BILLING_APT_NUM:
105 return ADDRESS_HOME_APT_NUM;
106
107 case ADDRESS_BILLING_CITY:
108 return ADDRESS_HOME_CITY;
109
110 case ADDRESS_BILLING_STATE:
111 return ADDRESS_HOME_STATE;
112
113 case ADDRESS_BILLING_ZIP:
114 return ADDRESS_HOME_ZIP;
115
116 case ADDRESS_BILLING_COUNTRY:
117 return ADDRESS_HOME_COUNTRY;
118
119 default:
120 return field_type;
121 }
122 }
123
124 // static
125 std::string AutofillType::FieldTypeToString(AutofillFieldType type) {
126 switch (type) {
127 case NO_SERVER_DATA:
128 return "NO_SERVER_DATA";
129 case UNKNOWN_TYPE:
130 return "UNKNOWN_TYPE";
131 case EMPTY_TYPE:
132 return "EMPTY_TYPE";
133 case NAME_FIRST:
134 return "NAME_FIRST";
135 case NAME_MIDDLE:
136 return "NAME_MIDDLE";
137 case NAME_LAST:
138 return "NAME_LAST";
139 case NAME_MIDDLE_INITIAL:
140 return "NAME_MIDDLE_INITIAL";
141 case NAME_FULL:
142 return "NAME_FULL";
143 case NAME_SUFFIX:
144 return "NAME_SUFFIX";
145 case EMAIL_ADDRESS:
146 return "EMAIL_ADDRESS";
147 case PHONE_HOME_NUMBER:
148 return "PHONE_HOME_NUMBER";
149 case PHONE_HOME_CITY_CODE:
150 return "PHONE_HOME_CITY_CODE";
151 case PHONE_HOME_COUNTRY_CODE:
152 return "PHONE_HOME_COUNTRY_CODE";
153 case PHONE_HOME_CITY_AND_NUMBER:
154 return "PHONE_HOME_CITY_AND_NUMBER";
155 case PHONE_HOME_WHOLE_NUMBER:
156 return "PHONE_HOME_WHOLE_NUMBER";
157 case ADDRESS_HOME_LINE1:
158 return "ADDRESS_HOME_LINE1";
159 case ADDRESS_HOME_LINE2:
160 return "ADDRESS_HOME_LINE2";
161 case ADDRESS_HOME_APT_NUM:
162 return "ADDRESS_HOME_APT_NUM";
163 case ADDRESS_HOME_CITY:
164 return "ADDRESS_HOME_CITY";
165 case ADDRESS_HOME_STATE:
166 return "ADDRESS_HOME_STATE";
167 case ADDRESS_HOME_ZIP:
168 return "ADDRESS_HOME_ZIP";
169 case ADDRESS_HOME_COUNTRY:
170 return "ADDRESS_HOME_COUNTRY";
171 case ADDRESS_BILLING_LINE1:
172 return "ADDRESS_BILLING_LINE1";
173 case ADDRESS_BILLING_LINE2:
174 return "ADDRESS_BILLING_LINE2";
175 case ADDRESS_BILLING_APT_NUM:
176 return "ADDRESS_BILLING_APT_NUM";
177 case ADDRESS_BILLING_CITY:
178 return "ADDRESS_BILLING_CITY";
179 case ADDRESS_BILLING_STATE:
180 return "ADDRESS_BILLING_STATE";
181 case ADDRESS_BILLING_ZIP:
182 return "ADDRESS_BILLING_ZIP";
183 case ADDRESS_BILLING_COUNTRY:
184 return "ADDRESS_BILLING_COUNTRY";
185 case CREDIT_CARD_NAME:
186 return "CREDIT_CARD_NAME";
187 case CREDIT_CARD_NUMBER:
188 return "CREDIT_CARD_NUMBER";
189 case CREDIT_CARD_EXP_MONTH:
190 return "CREDIT_CARD_EXP_MONTH";
191 case CREDIT_CARD_EXP_2_DIGIT_YEAR:
192 return "CREDIT_CARD_EXP_2_DIGIT_YEAR";
193 case CREDIT_CARD_EXP_4_DIGIT_YEAR:
194 return "CREDIT_CARD_EXP_4_DIGIT_YEAR";
195 case CREDIT_CARD_EXP_DATE_2_DIGIT_YEAR:
196 return "CREDIT_CARD_EXP_DATE_2_DIGIT_YEAR";
197 case CREDIT_CARD_EXP_DATE_4_DIGIT_YEAR:
198 return "CREDIT_CARD_EXP_DATE_4_DIGIT_YEAR";
199 case CREDIT_CARD_TYPE:
200 return "CREDIT_CARD_TYPE";
201 case CREDIT_CARD_VERIFICATION_CODE:
202 return "CREDIT_CARD_VERIFICATION_CODE";
203 case COMPANY_NAME:
204 return "COMPANY_NAME";
205 default:
206 NOTREACHED() << "Invalid AutofillFieldType value.";
207 }
208 return std::string();
209 }
210
211 // static
212 AutofillFieldType AutofillType::StringToFieldType(const std::string& str) {
213 if (str == "NO_SERVER_DATA")
214 return NO_SERVER_DATA;
215 if (str == "UNKNOWN_TYPE")
216 return UNKNOWN_TYPE;
217 if (str == "EMPTY_TYPE")
218 return EMPTY_TYPE;
219 if (str == "NAME_FIRST")
220 return NAME_FIRST;
221 if (str == "NAME_MIDDLE")
222 return NAME_MIDDLE;
223 if (str == "NAME_LAST")
224 return NAME_LAST;
225 if (str == "NAME_MIDDLE_INITIAL")
226 return NAME_MIDDLE_INITIAL;
227 if (str == "NAME_FULL")
228 return NAME_FULL;
229 if (str == "NAME_SUFFIX")
230 return NAME_SUFFIX;
231 if (str == "EMAIL_ADDRESS")
232 return EMAIL_ADDRESS;
233 if (str == "PHONE_HOME_NUMBER")
234 return PHONE_HOME_NUMBER;
235 if (str == "PHONE_HOME_CITY_CODE")
236 return PHONE_HOME_CITY_CODE;
237 if (str == "PHONE_HOME_COUNTRY_CODE")
238 return PHONE_HOME_COUNTRY_CODE;
239 if (str == "PHONE_HOME_CITY_AND_NUMBER")
240 return PHONE_HOME_CITY_AND_NUMBER;
241 if (str == "PHONE_HOME_WHOLE_NUMBER")
242 return PHONE_HOME_WHOLE_NUMBER;
243 if (str == "ADDRESS_HOME_LINE1")
244 return ADDRESS_HOME_LINE1;
245 if (str == "ADDRESS_HOME_LINE2")
246 return ADDRESS_HOME_LINE2;
247 if (str == "ADDRESS_HOME_APT_NUM")
248 return ADDRESS_HOME_APT_NUM;
249 if (str == "ADDRESS_HOME_CITY")
250 return ADDRESS_HOME_CITY;
251 if (str == "ADDRESS_HOME_STATE")
252 return ADDRESS_HOME_STATE;
253 if (str == "ADDRESS_HOME_ZIP")
254 return ADDRESS_HOME_ZIP;
255 if (str == "ADDRESS_HOME_COUNTRY")
256 return ADDRESS_HOME_COUNTRY;
257 if (str == "ADDRESS_BILLING_LINE1")
258 return ADDRESS_BILLING_LINE1;
259 if (str == "ADDRESS_BILLING_LINE2")
260 return ADDRESS_BILLING_LINE2;
261 if (str == "ADDRESS_BILLING_APT_NUM")
262 return ADDRESS_BILLING_APT_NUM;
263 if (str == "ADDRESS_BILLING_CITY")
264 return ADDRESS_BILLING_CITY;
265 if (str == "ADDRESS_BILLING_STATE")
266 return ADDRESS_BILLING_STATE;
267 if (str == "ADDRESS_BILLING_ZIP")
268 return ADDRESS_BILLING_ZIP;
269 if (str == "ADDRESS_BILLING_COUNTRY")
270 return ADDRESS_BILLING_COUNTRY;
271 if (str == "CREDIT_CARD_NAME")
272 return CREDIT_CARD_NAME;
273 if (str == "CREDIT_CARD_NUMBER")
274 return CREDIT_CARD_NUMBER;
275 if (str == "CREDIT_CARD_EXP_MONTH")
276 return CREDIT_CARD_EXP_MONTH;
277 if (str == "CREDIT_CARD_EXP_2_DIGIT_YEAR")
278 return CREDIT_CARD_EXP_2_DIGIT_YEAR;
279 if (str == "CREDIT_CARD_EXP_4_DIGIT_YEAR")
280 return CREDIT_CARD_EXP_4_DIGIT_YEAR;
281 if (str == "CREDIT_CARD_EXP_DATE_2_DIGIT_YEAR")
282 return CREDIT_CARD_EXP_DATE_2_DIGIT_YEAR;
283 if (str == "CREDIT_CARD_EXP_DATE_4_DIGIT_YEAR")
284 return CREDIT_CARD_EXP_DATE_4_DIGIT_YEAR;
285 if (str == "CREDIT_CARD_TYPE")
286 return CREDIT_CARD_TYPE;
287 if (str == "CREDIT_CARD_VERIFICATION_CODE")
288 return CREDIT_CARD_VERIFICATION_CODE;
289 if (str == "COMPANY_NAME")
290 return COMPANY_NAME;
291
292 NOTREACHED() << "Unknown AutofillFieldType " << str;
293 return UNKNOWN_TYPE;
294 }
OLDNEW
« no previous file with comments | « chrome/browser/autofill/autofill_type.h ('k') | chrome/browser/autofill/autofill_type_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698