1dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen// Copyright (c) 2011 The Chromium Authors. All rights reserved. 2c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch// Use of this source code is governed by a BSD-style license that can be 3c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch// found in the LICENSE file. 4c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 5c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch#include "chrome/browser/autofill/autofill_type.h" 6c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 7ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen#include <ostream> 8ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen 972a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen#include "base/logging.h" 10c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 11c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdochnamespace { 12c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 13dc0f95d653279beabeb9817299e2902918ba123eKristian Monsenconst AutofillType::AutofillTypeDefinition kUnknownAutofillTypeDefinition = { 14dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen /* UNKNOWN_TYPE */ AutofillType::NO_GROUP, AutofillType::NO_SUBGROUP 15c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch}; 16c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 17dc0f95d653279beabeb9817299e2902918ba123eKristian MonsenAutofillType::AutofillTypeDefinition kAutofillTypeDefinitions[] = { 18c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch // NO_SERVER_DATA 19dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen { AutofillType::NO_GROUP, AutofillType::NO_SUBGROUP }, 20c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch // UNKNOWN_TYPE 21dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen kUnknownAutofillTypeDefinition, 22c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch // EMPTY_TYPE 23dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen { AutofillType::NO_GROUP, AutofillType::NO_SUBGROUP }, 24c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 25c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch // NAME_FIRST 26ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen { AutofillType::NAME, AutofillType::NO_SUBGROUP }, 27c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch // NAME_MIDDLE 28ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen { AutofillType::NAME, AutofillType::NO_SUBGROUP }, 29c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch // NAME_LAST 30ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen { AutofillType::NAME, AutofillType::NO_SUBGROUP }, 31c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch // NAME_MIDDLE_INITIAL 32ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen { AutofillType::NAME, AutofillType::NO_SUBGROUP }, 33c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch // NAME_FULL 34ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen { AutofillType::NAME, AutofillType::NO_SUBGROUP }, 35c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch // NAME_SUFFIX 36ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen { AutofillType::NAME, AutofillType::NO_SUBGROUP }, 37c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 38c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch // EMAIL_ADDRESS 39ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen { AutofillType::EMAIL, AutofillType::NO_SUBGROUP }, 40c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 41c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch // PHONE_HOME_NUMBER 42dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen { AutofillType::PHONE_HOME, AutofillType::PHONE_NUMBER }, 43c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch // PHONE_HOME_CITY_CODE 44dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen { AutofillType::PHONE_HOME, AutofillType::PHONE_CITY_CODE }, 45c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch // PHONE_HOME_COUNTRY_CODE 46dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen { AutofillType::PHONE_HOME, AutofillType::PHONE_COUNTRY_CODE }, 47c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch // PHONE_HOME_CITY_AND_NUMBER 48dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen { AutofillType::PHONE_HOME, AutofillType::PHONE_CITY_AND_NUMBER }, 49c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch // PHONE_HOME_WHOLE_NUMBER 50dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen { AutofillType::PHONE_HOME, AutofillType::PHONE_WHOLE_NUMBER }, 51c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 52c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch // Work phone numbers (values [15,19]) are deprecated. 53dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen kUnknownAutofillTypeDefinition, 54dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen kUnknownAutofillTypeDefinition, 55dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen kUnknownAutofillTypeDefinition, 56dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen kUnknownAutofillTypeDefinition, 57dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen kUnknownAutofillTypeDefinition, 58c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 59c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch // PHONE_FAX_NUMBER 60dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen { AutofillType::PHONE_FAX, AutofillType::PHONE_NUMBER }, 61c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch // PHONE_FAX_CITY_CODE 62dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen { AutofillType::PHONE_FAX, AutofillType::PHONE_CITY_CODE }, 63c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch // PHONE_FAX_COUNTRY_CODE 64dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen { AutofillType::PHONE_FAX, AutofillType::PHONE_COUNTRY_CODE }, 65c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch // PHONE_FAX_CITY_AND_NUMBER 66dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen { AutofillType::PHONE_FAX, AutofillType::PHONE_CITY_AND_NUMBER }, 67c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch // PHONE_FAX_WHOLE_NUMBER 68dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen { AutofillType::PHONE_FAX, AutofillType::PHONE_WHOLE_NUMBER }, 69c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 70c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch // Cell phone numbers (values [25, 29]) are deprecated. 71dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen kUnknownAutofillTypeDefinition, 72dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen kUnknownAutofillTypeDefinition, 73dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen kUnknownAutofillTypeDefinition, 74dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen kUnknownAutofillTypeDefinition, 75dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen kUnknownAutofillTypeDefinition, 76c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 77c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch // ADDRESS_HOME_LINE1 78dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen { AutofillType::ADDRESS_HOME, AutofillType::ADDRESS_LINE1 }, 79c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch // ADDRESS_HOME_LINE2 80dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen { AutofillType::ADDRESS_HOME, AutofillType::ADDRESS_LINE2 }, 81c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch // ADDRESS_HOME_APT_NUM 82dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen { AutofillType::ADDRESS_HOME, AutofillType::ADDRESS_APT_NUM }, 83c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch // ADDRESS_HOME_CITY 84dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen { AutofillType::ADDRESS_HOME, AutofillType::ADDRESS_CITY }, 85c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch // ADDRESS_HOME_STATE 86dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen { AutofillType::ADDRESS_HOME, AutofillType::ADDRESS_STATE }, 87c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch // ADDRESS_HOME_ZIP 88dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen { AutofillType::ADDRESS_HOME, AutofillType::ADDRESS_ZIP }, 89c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch // ADDRESS_HOME_COUNTRY 90dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen { AutofillType::ADDRESS_HOME, AutofillType::ADDRESS_COUNTRY }, 91c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 92c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch // ADDRESS_BILLING_LINE1 93dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen { AutofillType::ADDRESS_BILLING, AutofillType::ADDRESS_LINE1 }, 94c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch // ADDRESS_BILLING_LINE2 95dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen { AutofillType::ADDRESS_BILLING, AutofillType::ADDRESS_LINE2 }, 96c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch // ADDRESS_BILLING_APT_NUM 97dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen { AutofillType::ADDRESS_BILLING, AutofillType::ADDRESS_APT_NUM }, 98c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch // ADDRESS_BILLING_CITY 99dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen { AutofillType::ADDRESS_BILLING, AutofillType::ADDRESS_CITY }, 100c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch // ADDRESS_BILLING_STATE 101dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen { AutofillType::ADDRESS_BILLING, AutofillType::ADDRESS_STATE }, 102c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch // ADDRESS_BILLING_ZIP 103dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen { AutofillType::ADDRESS_BILLING, AutofillType::ADDRESS_ZIP }, 104c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch // ADDRESS_BILLING_COUNTRY 105dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen { AutofillType::ADDRESS_BILLING, AutofillType::ADDRESS_COUNTRY }, 106c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 107c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch // ADDRESS_SHIPPING values [44,50] are deprecated. 108dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen kUnknownAutofillTypeDefinition, 109dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen kUnknownAutofillTypeDefinition, 110dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen kUnknownAutofillTypeDefinition, 111dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen kUnknownAutofillTypeDefinition, 112dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen kUnknownAutofillTypeDefinition, 113dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen kUnknownAutofillTypeDefinition, 114dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen kUnknownAutofillTypeDefinition, 115c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 116c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch // CREDIT_CARD_NAME 117dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen { AutofillType::CREDIT_CARD, AutofillType::NO_SUBGROUP }, 118c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch // CREDIT_CARD_NUMBER 119dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen { AutofillType::CREDIT_CARD, AutofillType::NO_SUBGROUP }, 120c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch // CREDIT_CARD_EXP_MONTH 121dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen { AutofillType::CREDIT_CARD, AutofillType::NO_SUBGROUP }, 122c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch // CREDIT_CARD_EXP_2_DIGIT_YEAR 123dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen { AutofillType::CREDIT_CARD, AutofillType::NO_SUBGROUP }, 124c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch // CREDIT_CARD_EXP_4_DIGIT_YEAR 125dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen { AutofillType::CREDIT_CARD, AutofillType::NO_SUBGROUP }, 126c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch // CREDIT_CARD_EXP_DATE_2_DIGIT_YEAR 127dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen { AutofillType::CREDIT_CARD, AutofillType::NO_SUBGROUP }, 128c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch // CREDIT_CARD_EXP_DATE_4_DIGIT_YEAR 129dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen { AutofillType::CREDIT_CARD, AutofillType::NO_SUBGROUP }, 130c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch // CREDIT_CARD_TYPE 131dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen { AutofillType::CREDIT_CARD, AutofillType::NO_SUBGROUP }, 132c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch // CREDIT_CARD_VERIFICATION_CODE 133dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen { AutofillType::CREDIT_CARD, AutofillType::NO_SUBGROUP }, 134c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 135c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch // COMPANY_NAME 136ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen { AutofillType::COMPANY, AutofillType::NO_SUBGROUP }, 137c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch}; 138c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 139c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch} // namespace 140c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 141dc0f95d653279beabeb9817299e2902918ba123eKristian MonsenAutofillType::AutofillType(AutofillFieldType field_type) { 142c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch if ((field_type < NO_SERVER_DATA || field_type >= MAX_VALID_FIELD_TYPE) || 143c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch (field_type >= 15 && field_type <= 19) || 144c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch (field_type >= 25 && field_type <= 29) || 145c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch (field_type >= 44 && field_type <= 50)) 146c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch field_type_ = UNKNOWN_TYPE; 147c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch else 148c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch field_type_ = field_type; 149c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch} 150c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 151dc0f95d653279beabeb9817299e2902918ba123eKristian MonsenAutofillType::AutofillType(const AutofillType& autofill_type) { 152c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch *this = autofill_type; 153c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch} 154c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 155dc0f95d653279beabeb9817299e2902918ba123eKristian MonsenAutofillType& AutofillType::operator=(const AutofillType& autofill_type) { 156c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch if (this != &autofill_type) 157c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch this->field_type_ = autofill_type.field_type_; 158c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch return *this; 159c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch} 160c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 161dc0f95d653279beabeb9817299e2902918ba123eKristian MonsenAutofillFieldType AutofillType::field_type() const { 162c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch return field_type_; 163c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch} 164c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 165dc0f95d653279beabeb9817299e2902918ba123eKristian MonsenFieldTypeGroup AutofillType::group() const { 166dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen return kAutofillTypeDefinitions[field_type_].group; 167c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch} 168c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 169dc0f95d653279beabeb9817299e2902918ba123eKristian MonsenFieldTypeSubGroup AutofillType::subgroup() const { 170dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen return kAutofillTypeDefinitions[field_type_].subgroup; 171c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch} 17272a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen 17372a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen// static 174dc0f95d653279beabeb9817299e2902918ba123eKristian MonsenAutofillFieldType AutofillType::GetEquivalentFieldType( 175dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen AutofillFieldType field_type) { 17672a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen // When billing information is requested from the profile we map to the 17772a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen // home address equivalents. 17872a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen switch (field_type) { 17972a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen case ADDRESS_BILLING_LINE1: 18072a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen return ADDRESS_HOME_LINE1; 18172a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen 18272a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen case ADDRESS_BILLING_LINE2: 18372a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen return ADDRESS_HOME_LINE2; 18472a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen 18572a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen case ADDRESS_BILLING_APT_NUM: 18672a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen return ADDRESS_HOME_APT_NUM; 18772a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen 18872a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen case ADDRESS_BILLING_CITY: 18972a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen return ADDRESS_HOME_CITY; 19072a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen 19172a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen case ADDRESS_BILLING_STATE: 19272a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen return ADDRESS_HOME_STATE; 19372a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen 19472a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen case ADDRESS_BILLING_ZIP: 19572a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen return ADDRESS_HOME_ZIP; 19672a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen 19772a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen case ADDRESS_BILLING_COUNTRY: 19872a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen return ADDRESS_HOME_COUNTRY; 19972a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen 20072a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen default: 20172a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen return field_type; 20272a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen } 20372a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen} 20472a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen 20572a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen// static 206dc0f95d653279beabeb9817299e2902918ba123eKristian Monsenstd::string AutofillType::FieldTypeToString(AutofillFieldType type) { 20772a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen switch (type) { 20872a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen case NO_SERVER_DATA: 20972a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen return "NO_SERVER_DATA"; 21072a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen case UNKNOWN_TYPE: 21172a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen return "UNKNOWN_TYPE"; 21272a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen case EMPTY_TYPE: 21372a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen return "EMPTY_TYPE"; 21472a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen case NAME_FIRST: 21572a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen return "NAME_FIRST"; 21672a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen case NAME_MIDDLE: 21772a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen return "NAME_MIDDLE"; 21872a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen case NAME_LAST: 21972a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen return "NAME_LAST"; 22072a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen case NAME_MIDDLE_INITIAL: 22172a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen return "NAME_MIDDLE_INITIAL"; 22272a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen case NAME_FULL: 22372a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen return "NAME_FULL"; 22472a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen case NAME_SUFFIX: 22572a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen return "NAME_SUFFIX"; 22672a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen case EMAIL_ADDRESS: 22772a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen return "EMAIL_ADDRESS"; 22872a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen case PHONE_HOME_NUMBER: 22972a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen return "PHONE_HOME_NUMBER"; 23072a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen case PHONE_HOME_CITY_CODE: 23172a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen return "PHONE_HOME_CITY_CODE"; 23272a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen case PHONE_HOME_COUNTRY_CODE: 23372a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen return "PHONE_HOME_COUNTRY_CODE"; 23472a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen case PHONE_HOME_CITY_AND_NUMBER: 23572a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen return "PHONE_HOME_CITY_AND_NUMBER"; 23672a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen case PHONE_HOME_WHOLE_NUMBER: 23772a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen return "PHONE_HOME_WHOLE_NUMBER"; 23872a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen case PHONE_FAX_NUMBER: 23972a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen return "PHONE_FAX_NUMBER"; 24072a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen case PHONE_FAX_CITY_CODE: 24172a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen return "PHONE_FAX_CITY_CODE"; 24272a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen case PHONE_FAX_COUNTRY_CODE: 24372a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen return "PHONE_FAX_COUNTRY_CODE"; 24472a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen case PHONE_FAX_CITY_AND_NUMBER: 24572a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen return "PHONE_FAX_CITY_AND_NUMBER"; 24672a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen case PHONE_FAX_WHOLE_NUMBER: 24772a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen return "PHONE_FAX_WHOLE_NUMBER"; 24872a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen case ADDRESS_HOME_LINE1: 24972a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen return "ADDRESS_HOME_LINE1"; 25072a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen case ADDRESS_HOME_LINE2: 25172a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen return "ADDRESS_HOME_LINE2"; 25272a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen case ADDRESS_HOME_APT_NUM: 25372a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen return "ADDRESS_HOME_APT_NUM"; 25472a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen case ADDRESS_HOME_CITY: 25572a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen return "ADDRESS_HOME_CITY"; 25672a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen case ADDRESS_HOME_STATE: 25772a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen return "ADDRESS_HOME_STATE"; 25872a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen case ADDRESS_HOME_ZIP: 25972a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen return "ADDRESS_HOME_ZIP"; 26072a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen case ADDRESS_HOME_COUNTRY: 26172a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen return "ADDRESS_HOME_COUNTRY"; 26272a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen case ADDRESS_BILLING_LINE1: 26372a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen return "ADDRESS_BILLING_LINE1"; 26472a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen case ADDRESS_BILLING_LINE2: 26572a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen return "ADDRESS_BILLING_LINE2"; 26672a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen case ADDRESS_BILLING_APT_NUM: 26772a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen return "ADDRESS_BILLING_APT_NUM"; 26872a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen case ADDRESS_BILLING_CITY: 26972a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen return "ADDRESS_BILLING_CITY"; 27072a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen case ADDRESS_BILLING_STATE: 27172a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen return "ADDRESS_BILLING_STATE"; 27272a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen case ADDRESS_BILLING_ZIP: 27372a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen return "ADDRESS_BILLING_ZIP"; 27472a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen case ADDRESS_BILLING_COUNTRY: 27572a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen return "ADDRESS_BILLING_COUNTRY"; 27672a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen case CREDIT_CARD_NAME: 27772a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen return "CREDIT_CARD_NAME"; 27872a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen case CREDIT_CARD_NUMBER: 27972a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen return "CREDIT_CARD_NUMBER"; 28072a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen case CREDIT_CARD_EXP_MONTH: 28172a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen return "CREDIT_CARD_EXP_MONTH"; 28272a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen case CREDIT_CARD_EXP_2_DIGIT_YEAR: 28372a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen return "CREDIT_CARD_EXP_2_DIGIT_YEAR"; 28472a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen case CREDIT_CARD_EXP_4_DIGIT_YEAR: 28572a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen return "CREDIT_CARD_EXP_4_DIGIT_YEAR"; 28672a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen case CREDIT_CARD_EXP_DATE_2_DIGIT_YEAR: 28772a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen return "CREDIT_CARD_EXP_DATE_2_DIGIT_YEAR"; 28872a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen case CREDIT_CARD_EXP_DATE_4_DIGIT_YEAR: 28972a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen return "CREDIT_CARD_EXP_DATE_4_DIGIT_YEAR"; 29072a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen case CREDIT_CARD_TYPE: 29172a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen return "CREDIT_CARD_TYPE"; 29272a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen case CREDIT_CARD_VERIFICATION_CODE: 29372a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen return "CREDIT_CARD_VERIFICATION_CODE"; 29472a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen case COMPANY_NAME: 29572a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen return "COMPANY_NAME"; 29672a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen default: 297dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen NOTREACHED() << "Invalid AutofillFieldType value."; 29872a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen } 29972a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen return std::string(); 30072a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen} 30172a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen 30272a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen// static 303dc0f95d653279beabeb9817299e2902918ba123eKristian MonsenAutofillFieldType AutofillType::StringToFieldType(const std::string& str) { 30472a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen if (str == "NO_SERVER_DATA") 30572a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen return NO_SERVER_DATA; 30672a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen if (str == "UNKNOWN_TYPE") 30772a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen return UNKNOWN_TYPE; 30872a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen if (str == "EMPTY_TYPE") 30972a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen return EMPTY_TYPE; 31072a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen if (str == "NAME_FIRST") 31172a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen return NAME_FIRST; 31272a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen if (str == "NAME_MIDDLE") 31372a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen return NAME_MIDDLE; 31472a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen if (str == "NAME_LAST") 31572a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen return NAME_LAST; 31672a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen if (str == "NAME_MIDDLE_INITIAL") 31772a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen return NAME_MIDDLE_INITIAL; 31872a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen if (str == "NAME_FULL") 31972a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen return NAME_FULL; 32072a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen if (str == "NAME_SUFFIX") 32172a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen return NAME_SUFFIX; 32272a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen if (str == "EMAIL_ADDRESS") 32372a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen return EMAIL_ADDRESS; 32472a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen if (str == "PHONE_HOME_NUMBER") 32572a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen return PHONE_HOME_NUMBER; 32672a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen if (str == "PHONE_HOME_CITY_CODE") 32772a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen return PHONE_HOME_CITY_CODE; 32872a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen if (str == "PHONE_HOME_COUNTRY_CODE") 32972a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen return PHONE_HOME_COUNTRY_CODE; 33072a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen if (str == "PHONE_HOME_CITY_AND_NUMBER") 33172a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen return PHONE_HOME_CITY_AND_NUMBER; 33272a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen if (str == "PHONE_HOME_WHOLE_NUMBER") 33372a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen return PHONE_HOME_WHOLE_NUMBER; 33472a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen if (str == "PHONE_FAX_NUMBER") 33572a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen return PHONE_FAX_NUMBER; 33672a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen if (str == "PHONE_FAX_CITY_CODE") 33772a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen return PHONE_FAX_CITY_CODE; 33872a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen if (str == "PHONE_FAX_COUNTRY_CODE") 33972a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen return PHONE_FAX_COUNTRY_CODE; 34072a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen if (str == "PHONE_FAX_CITY_AND_NUMBER") 34172a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen return PHONE_FAX_CITY_AND_NUMBER; 34272a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen if (str == "PHONE_FAX_WHOLE_NUMBER") 34372a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen return PHONE_FAX_WHOLE_NUMBER; 34472a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen if (str == "ADDRESS_HOME_LINE1") 34572a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen return ADDRESS_HOME_LINE1; 34672a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen if (str == "ADDRESS_HOME_LINE2") 34772a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen return ADDRESS_HOME_LINE2; 34872a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen if (str == "ADDRESS_HOME_APT_NUM") 34972a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen return ADDRESS_HOME_APT_NUM; 35072a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen if (str == "ADDRESS_HOME_CITY") 35172a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen return ADDRESS_HOME_CITY; 35272a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen if (str == "ADDRESS_HOME_STATE") 35372a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen return ADDRESS_HOME_STATE; 35472a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen if (str == "ADDRESS_HOME_ZIP") 35572a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen return ADDRESS_HOME_ZIP; 35672a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen if (str == "ADDRESS_HOME_COUNTRY") 35772a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen return ADDRESS_HOME_COUNTRY; 35872a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen if (str == "ADDRESS_BILLING_LINE1") 35972a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen return ADDRESS_BILLING_LINE1; 36072a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen if (str == "ADDRESS_BILLING_LINE2") 36172a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen return ADDRESS_BILLING_LINE2; 36272a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen if (str == "ADDRESS_BILLING_APT_NUM") 36372a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen return ADDRESS_BILLING_APT_NUM; 36472a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen if (str == "ADDRESS_BILLING_CITY") 36572a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen return ADDRESS_BILLING_CITY; 36672a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen if (str == "ADDRESS_BILLING_STATE") 36772a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen return ADDRESS_BILLING_STATE; 36872a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen if (str == "ADDRESS_BILLING_ZIP") 36972a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen return ADDRESS_BILLING_ZIP; 37072a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen if (str == "ADDRESS_BILLING_COUNTRY") 37172a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen return ADDRESS_BILLING_COUNTRY; 37272a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen if (str == "CREDIT_CARD_NAME") 37372a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen return CREDIT_CARD_NAME; 37472a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen if (str == "CREDIT_CARD_NUMBER") 37572a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen return CREDIT_CARD_NUMBER; 37672a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen if (str == "CREDIT_CARD_EXP_MONTH") 37772a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen return CREDIT_CARD_EXP_MONTH; 37872a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen if (str == "CREDIT_CARD_EXP_2_DIGIT_YEAR") 37972a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen return CREDIT_CARD_EXP_2_DIGIT_YEAR; 38072a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen if (str == "CREDIT_CARD_EXP_4_DIGIT_YEAR") 38172a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen return CREDIT_CARD_EXP_4_DIGIT_YEAR; 38272a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen if (str == "CREDIT_CARD_EXP_DATE_2_DIGIT_YEAR") 38372a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen return CREDIT_CARD_EXP_DATE_2_DIGIT_YEAR; 38472a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen if (str == "CREDIT_CARD_EXP_DATE_4_DIGIT_YEAR") 38572a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen return CREDIT_CARD_EXP_DATE_4_DIGIT_YEAR; 38672a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen if (str == "CREDIT_CARD_TYPE") 38772a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen return CREDIT_CARD_TYPE; 38872a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen if (str == "CREDIT_CARD_VERIFICATION_CODE") 38972a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen return CREDIT_CARD_VERIFICATION_CODE; 39072a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen if (str == "COMPANY_NAME") 39172a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen return COMPANY_NAME; 39272a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen 393dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen NOTREACHED() << "Unknown AutofillFieldType " << str; 39472a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen return UNKNOWN_TYPE; 39572a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen} 396