Index: components/autofill/core/browser/credit_card.cc |
diff --git a/components/autofill/core/browser/credit_card.cc b/components/autofill/core/browser/credit_card.cc |
index 8fc67ee3b59e4c19e378e7bd52309035da50736d..e627207388811a22725b0eae45a3f1a05bf48466 100644 |
--- a/components/autofill/core/browser/credit_card.cc |
+++ b/components/autofill/core/browser/credit_card.cc |
@@ -21,7 +21,6 @@ |
#include "components/autofill/core/browser/autofill_field.h" |
#include "components/autofill/core/browser/autofill_regexes.h" |
#include "components/autofill/core/browser/autofill_type.h" |
-#include "components/autofill/core/browser/field_types.h" |
#include "components/autofill/core/browser/validation.h" |
#include "components/autofill/core/common/form_field_data.h" |
#include "grit/component_strings.h" |
@@ -276,7 +275,7 @@ std::string CreditCard::GetCreditCardType(const base::string16& number) { |
return kGenericCard; |
} |
-base::string16 CreditCard::GetRawInfo(AutofillFieldType type) const { |
+base::string16 CreditCard::GetRawInfo(ServerFieldType type) const { |
switch (type) { |
case CREDIT_CARD_NAME: |
return name_on_card_; |
@@ -322,7 +321,7 @@ base::string16 CreditCard::GetRawInfo(AutofillFieldType type) const { |
} |
} |
-void CreditCard::SetRawInfo(AutofillFieldType type, |
+void CreditCard::SetRawInfo(ServerFieldType type, |
const base::string16& value) { |
switch (type) { |
case CREDIT_CARD_NAME: |
@@ -370,33 +369,35 @@ void CreditCard::SetRawInfo(AutofillFieldType type, |
} |
} |
-base::string16 CreditCard::GetInfo(AutofillFieldType type, |
+base::string16 CreditCard::GetInfo(const AutofillType& type, |
const std::string& app_locale) const { |
- if (type == CREDIT_CARD_NUMBER) |
+ if (type.server_type() == CREDIT_CARD_NUMBER) |
return StripSeparators(number_); |
- return GetRawInfo(type); |
+ return GetRawInfo(type.server_type()); |
} |
-bool CreditCard::SetInfo(AutofillFieldType type, |
+bool CreditCard::SetInfo(const AutofillType& type, |
const base::string16& value, |
const std::string& app_locale) { |
- if (type == CREDIT_CARD_NUMBER) |
- SetRawInfo(type, StripSeparators(value)); |
- else if (type == CREDIT_CARD_EXP_MONTH) |
+ ServerFieldType server_type = type.server_type(); |
+ if (server_type == CREDIT_CARD_NUMBER) |
+ SetRawInfo(server_type, StripSeparators(value)); |
+ else if (server_type == CREDIT_CARD_EXP_MONTH) |
SetExpirationMonthFromString(value, app_locale); |
else |
- SetRawInfo(type, value); |
+ SetRawInfo(server_type, value); |
return true; |
} |
void CreditCard::GetMatchingTypes(const base::string16& text, |
const std::string& app_locale, |
- FieldTypeSet* matching_types) const { |
+ ServerFieldTypeSet* matching_types) const { |
FormGroup::GetMatchingTypes(text, app_locale, matching_types); |
- base::string16 card_number = GetInfo(CREDIT_CARD_NUMBER, app_locale); |
+ base::string16 card_number = |
+ GetInfo(AutofillType(CREDIT_CARD_NUMBER), app_locale); |
if (!card_number.empty() && StripSeparators(text) == card_number) |
matching_types->insert(CREDIT_CARD_NUMBER); |
@@ -501,8 +502,8 @@ void CreditCard::operator=(const CreditCard& credit_card) { |
bool CreditCard::UpdateFromImportedCard(const CreditCard& imported_card, |
const std::string& app_locale) { |
- if (this->GetInfo(CREDIT_CARD_NUMBER, app_locale) != |
- imported_card.GetInfo(CREDIT_CARD_NUMBER, app_locale)) { |
+ if (this->GetInfo(AutofillType(CREDIT_CARD_NUMBER), app_locale) != |
+ imported_card.GetInfo(AutofillType(CREDIT_CARD_NUMBER), app_locale)) { |
return false; |
} |
@@ -533,22 +534,24 @@ void CreditCard::FillFormField(const AutofillField& field, |
size_t /*variant*/, |
const std::string& app_locale, |
FormFieldData* field_data) const { |
- DCHECK_EQ(CREDIT_CARD, AutofillType(field.type()).group()); |
+ DCHECK_EQ(CREDIT_CARD, field.Type().group()); |
DCHECK(field_data); |
if (field_data->form_control_type == "select-one") { |
- FillSelectControl(field.type(), app_locale, field_data); |
+ FillSelectControl(field.Type(), app_locale, field_data); |
} else if (field_data->form_control_type == "month") { |
// HTML5 input="month" consists of year-month. |
- base::string16 year = GetInfo(CREDIT_CARD_EXP_4_DIGIT_YEAR, app_locale); |
- base::string16 month = GetInfo(CREDIT_CARD_EXP_MONTH, app_locale); |
+ base::string16 year = |
+ GetInfo(AutofillType(CREDIT_CARD_EXP_4_DIGIT_YEAR), app_locale); |
+ base::string16 month = |
+ GetInfo(AutofillType(CREDIT_CARD_EXP_MONTH), app_locale); |
if (!year.empty() && !month.empty()) { |
// Fill the value only if |this| includes both year and month |
// information. |
field_data->value = year + ASCIIToUTF16("-") + month; |
} |
} else { |
- field_data->value = GetInfo(field.type(), app_locale); |
+ field_data->value = GetInfo(field.Type(), app_locale); |
} |
} |
@@ -556,13 +559,13 @@ int CreditCard::Compare(const CreditCard& credit_card) const { |
// The following CreditCard field types are the only types we store in the |
// WebDB so far, so we're only concerned with matching these types in the |
// credit card. |
- const AutofillFieldType types[] = { CREDIT_CARD_NAME, |
- CREDIT_CARD_NUMBER, |
- CREDIT_CARD_EXP_MONTH, |
- CREDIT_CARD_EXP_4_DIGIT_YEAR }; |
- for (size_t index = 0; index < arraysize(types); ++index) { |
- int comparison = GetRawInfo(types[index]).compare( |
- credit_card.GetRawInfo(types[index])); |
+ const ServerFieldType types[] = { CREDIT_CARD_NAME, |
+ CREDIT_CARD_NUMBER, |
+ CREDIT_CARD_EXP_MONTH, |
+ CREDIT_CARD_EXP_4_DIGIT_YEAR }; |
+ for (size_t i = 0; i < arraysize(types); ++i) { |
+ int comparison = |
+ GetRawInfo(types[i]).compare(credit_card.GetRawInfo(types[i])); |
if (comparison != 0) |
return comparison; |
} |
@@ -581,7 +584,7 @@ bool CreditCard::operator!=(const CreditCard& credit_card) const { |
} |
bool CreditCard::IsEmpty(const std::string& app_locale) const { |
- FieldTypeSet types; |
+ ServerFieldTypeSet types; |
GetNonEmptyTypes(app_locale, &types); |
return types.empty(); |
} |
@@ -599,7 +602,7 @@ bool CreditCard::IsValid() const { |
expiration_year_, expiration_month_, base::Time::Now()); |
} |
-void CreditCard::GetSupportedTypes(FieldTypeSet* supported_types) const { |
+void CreditCard::GetSupportedTypes(ServerFieldTypeSet* supported_types) const { |
supported_types->insert(CREDIT_CARD_NAME); |
supported_types->insert(CREDIT_CARD_NUMBER); |
supported_types->insert(CREDIT_CARD_TYPE); |