Index: components/autofill/core/browser/autofill_data_model.cc |
diff --git a/components/autofill/core/browser/autofill_data_model.cc b/components/autofill/core/browser/autofill_data_model.cc |
index 0aa0f30b4b3019ea17e4a2289e57226396fa4128..28a380e98b5f202afa0cba0eb5b1ff2d7f2b9cf9 100644 |
--- a/components/autofill/core/browser/autofill_data_model.cc |
+++ b/components/autofill/core/browser/autofill_data_model.cc |
@@ -11,6 +11,7 @@ |
#include "base/strings/utf_string_conversions.h" |
#include "components/autofill/core/browser/autofill_country.h" |
#include "components/autofill/core/browser/autofill_field.h" |
+#include "components/autofill/core/browser/autofill_type.h" |
#include "components/autofill/core/browser/state_names.h" |
#include "components/autofill/core/browser/validation.h" |
#include "components/autofill/core/common/form_field_data.h" |
@@ -123,7 +124,7 @@ AutofillDataModel::AutofillDataModel(const std::string& guid, |
origin_(origin) {} |
AutofillDataModel::~AutofillDataModel() {} |
-void AutofillDataModel::FillSelectControl(AutofillFieldType type, |
+void AutofillDataModel::FillSelectControl(const AutofillType& type, |
const std::string& app_locale, |
FormFieldData* field) const { |
DCHECK(field); |
@@ -157,18 +158,22 @@ void AutofillDataModel::FillSelectControl(AutofillFieldType type, |
return; |
} |
- if (type == ADDRESS_HOME_STATE || type == ADDRESS_BILLING_STATE) { |
+ ServerFieldType server_type = type.server_type(); |
+ if (server_type == ADDRESS_HOME_STATE || |
+ server_type == ADDRESS_BILLING_STATE) { |
FillStateSelectControl(field_text, field); |
- } else if (type == ADDRESS_HOME_COUNTRY || type == ADDRESS_BILLING_COUNTRY) { |
+ } else if (server_type == ADDRESS_HOME_COUNTRY || |
+ server_type == ADDRESS_BILLING_COUNTRY) { |
FillCountrySelectControl(app_locale, field); |
- } else if (type == CREDIT_CARD_EXP_MONTH) { |
+ } else if (server_type == CREDIT_CARD_EXP_MONTH) { |
FillExpirationMonthSelectControl(field_text, field); |
- } else if (type == CREDIT_CARD_EXP_4_DIGIT_YEAR) { |
+ } else if (server_type == CREDIT_CARD_EXP_4_DIGIT_YEAR) { |
// Attempt to fill the year as a 2-digit year. This compensates for the |
// fact that our heuristics do not always correctly detect when a website |
// requests a 2-digit rather than a 4-digit year. |
- FillSelectControl(CREDIT_CARD_EXP_2_DIGIT_YEAR, app_locale, field); |
- } else if (type == CREDIT_CARD_TYPE) { |
+ FillSelectControl(AutofillType(CREDIT_CARD_EXP_2_DIGIT_YEAR), app_locale, |
+ field); |
+ } else if (server_type == CREDIT_CARD_TYPE) { |
FillCreditCardTypeSelectControl(field_text, field); |
} |
} |