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

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

Issue 6673079: Reduce boxing and unboxing of AutofillFieldType (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebase Created 9 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
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/select_control_handler.h" 5 #include "chrome/browser/autofill/select_control_handler.h"
6 6
7 #include <string> 7 #include <string>
8 8
9 #include "base/basictypes.h" 9 #include "base/basictypes.h"
10 #include "base/logging.h" 10 #include "base/logging.h"
(...skipping 181 matching lines...) Expand 10 before | Expand all | Expand 10 after
192 SetSelectControlValue(ASCIIToUTF16(kMonthsFull[index]), field) || 192 SetSelectControlValue(ASCIIToUTF16(kMonthsFull[index]), field) ||
193 SetSelectControlValue(ASCIIToUTF16(kMonthsNumeric[index]), field); 193 SetSelectControlValue(ASCIIToUTF16(kMonthsNumeric[index]), field);
194 return filled; 194 return filled;
195 } 195 }
196 196
197 } // namespace 197 } // namespace
198 198
199 namespace autofill { 199 namespace autofill {
200 200
201 void FillSelectControl(const FormGroup& form_group, 201 void FillSelectControl(const FormGroup& form_group,
202 AutofillType type, 202 AutofillFieldType type,
203 webkit_glue::FormField* field) { 203 webkit_glue::FormField* field) {
204 DCHECK(field); 204 DCHECK(field);
205 DCHECK_EQ(ASCIIToUTF16("select-one"), field->form_control_type); 205 DCHECK_EQ(ASCIIToUTF16("select-one"), field->form_control_type);
206 206
207 string16 field_text = form_group.GetFieldText(type); 207 string16 field_text = form_group.GetFieldText(type);
208 if (field_text.empty()) 208 if (field_text.empty())
209 return; 209 return;
210 210
211 string16 value; 211 string16 value;
212 for (size_t i = 0; i < field->option_strings.size(); ++i) { 212 for (size_t i = 0; i < field->option_strings.size(); ++i) {
213 if (field_text == field->option_strings[i]) { 213 if (field_text == field->option_strings[i]) {
214 // An exact match, use it. 214 // An exact match, use it.
215 value = field_text; 215 value = field_text;
216 break; 216 break;
217 } 217 }
218 218
219 if (StringToLowerASCII(field->option_strings[i]) == 219 if (StringToLowerASCII(field->option_strings[i]) ==
220 StringToLowerASCII(field_text)) { 220 StringToLowerASCII(field_text)) {
221 // A match, but not in the same case. Save it in case an exact match is 221 // A match, but not in the same case. Save it in case an exact match is
222 // not found. 222 // not found.
223 value = field->option_strings[i]; 223 value = field->option_strings[i];
224 } 224 }
225 } 225 }
226 226
227 if (!value.empty()) { 227 if (!value.empty()) {
228 field->value = value; 228 field->value = value;
229 return; 229 return;
230 } 230 }
231 231
232 if (type.field_type() == ADDRESS_HOME_STATE || 232 if (type == ADDRESS_HOME_STATE || type == ADDRESS_BILLING_STATE)
233 type.field_type() == ADDRESS_BILLING_STATE) {
234 FillStateSelectControl(field_text, field); 233 FillStateSelectControl(field_text, field);
235 } else if (type.field_type() == ADDRESS_HOME_COUNTRY || 234 else if (type == ADDRESS_HOME_COUNTRY || type == ADDRESS_BILLING_COUNTRY)
236 type.field_type() == ADDRESS_BILLING_COUNTRY) {
237 FillCountrySelectControl(form_group, field); 235 FillCountrySelectControl(form_group, field);
238 } else if (type.field_type() == CREDIT_CARD_EXP_MONTH) { 236 else if (type == CREDIT_CARD_EXP_MONTH)
239 FillExpirationMonthSelectControl(field_text, field); 237 FillExpirationMonthSelectControl(field_text, field);
240 }
241 238
242 return; 239 return;
243 } 240 }
244 241
245 } // namespace autofill 242 } // namespace autofill
OLDNEW
« no previous file with comments | « chrome/browser/autofill/select_control_handler.h ('k') | chrome/browser/autofill/select_control_handler_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698