| Index: components/autofill/core/browser/address_i18n.cc
|
| diff --git a/components/autofill/core/browser/address_i18n.cc b/components/autofill/core/browser/address_i18n.cc
|
| index 29227005c805f0ec8d0c25572e74a96d1e75a234..5de53637787f0da507975f775b3d26adec1ab5ad 100644
|
| --- a/components/autofill/core/browser/address_i18n.cc
|
| +++ b/components/autofill/core/browser/address_i18n.cc
|
| @@ -27,6 +27,7 @@ base::string16 GetInfoHelper(const AutofillProfile& profile,
|
| } // namespace
|
|
|
| using ::i18n::addressinput::AddressData;
|
| +using ::i18n::addressinput::AddressField;
|
|
|
| scoped_ptr<AddressData> CreateAddressData(
|
| const base::Callback<base::string16(const AutofillType&)>& get_info) {
|
| @@ -62,5 +63,81 @@ scoped_ptr< ::i18n::addressinput::AddressData>
|
| return address_data.Pass();
|
| }
|
|
|
| +ServerFieldType TypeForField(AddressField address_field, bool billing) {
|
| + switch (address_field) {
|
| + case ::i18n::addressinput::COUNTRY:
|
| + return billing ? ADDRESS_BILLING_COUNTRY : ADDRESS_HOME_COUNTRY;
|
| + case ::i18n::addressinput::ADMIN_AREA:
|
| + return billing ? ADDRESS_BILLING_STATE : ADDRESS_HOME_STATE;
|
| + case ::i18n::addressinput::LOCALITY:
|
| + return billing ? ADDRESS_BILLING_CITY : ADDRESS_HOME_CITY;
|
| + case ::i18n::addressinput::DEPENDENT_LOCALITY:
|
| + return billing ? ADDRESS_BILLING_DEPENDENT_LOCALITY
|
| + : ADDRESS_HOME_DEPENDENT_LOCALITY;
|
| + case ::i18n::addressinput::POSTAL_CODE:
|
| + return billing ? ADDRESS_BILLING_ZIP : ADDRESS_HOME_ZIP;
|
| + case ::i18n::addressinput::SORTING_CODE:
|
| + return billing ? ADDRESS_BILLING_SORTING_CODE : ADDRESS_HOME_SORTING_CODE;
|
| + case ::i18n::addressinput::STREET_ADDRESS:
|
| + return billing ? ADDRESS_BILLING_STREET_ADDRESS
|
| + : ADDRESS_HOME_STREET_ADDRESS;
|
| + case ::i18n::addressinput::RECIPIENT:
|
| + return billing ? NAME_BILLING_FULL : NAME_FULL;
|
| + }
|
| + NOTREACHED();
|
| + return UNKNOWN_TYPE;
|
| +}
|
| +
|
| +bool FieldForType(ServerFieldType server_type, AddressField* field) {
|
| + switch (server_type) {
|
| + case ADDRESS_BILLING_COUNTRY:
|
| + case ADDRESS_HOME_COUNTRY:
|
| + if (field)
|
| + *field = ::i18n::addressinput::COUNTRY;
|
| + return true;
|
| + case ADDRESS_BILLING_STATE:
|
| + case ADDRESS_HOME_STATE:
|
| + if (field)
|
| + *field = ::i18n::addressinput::ADMIN_AREA;
|
| + return true;
|
| + case ADDRESS_BILLING_CITY:
|
| + case ADDRESS_HOME_CITY:
|
| + if (field)
|
| + *field = ::i18n::addressinput::LOCALITY;
|
| + return true;
|
| + case ADDRESS_BILLING_DEPENDENT_LOCALITY:
|
| + case ADDRESS_HOME_DEPENDENT_LOCALITY:
|
| + if (field)
|
| + *field = ::i18n::addressinput::DEPENDENT_LOCALITY;
|
| + return true;
|
| + case ADDRESS_BILLING_SORTING_CODE:
|
| + case ADDRESS_HOME_SORTING_CODE:
|
| + if (field)
|
| + *field = ::i18n::addressinput::SORTING_CODE;
|
| + return true;
|
| + case ADDRESS_BILLING_ZIP:
|
| + case ADDRESS_HOME_ZIP:
|
| + if (field)
|
| + *field = ::i18n::addressinput::POSTAL_CODE;
|
| + return true;
|
| + case ADDRESS_BILLING_STREET_ADDRESS:
|
| + case ADDRESS_BILLING_LINE1:
|
| + case ADDRESS_BILLING_LINE2:
|
| + case ADDRESS_HOME_STREET_ADDRESS:
|
| + case ADDRESS_HOME_LINE1:
|
| + case ADDRESS_HOME_LINE2:
|
| + if (field)
|
| + *field = ::i18n::addressinput::STREET_ADDRESS;
|
| + return true;
|
| + case NAME_BILLING_FULL:
|
| + case NAME_FULL:
|
| + if (field)
|
| + *field = ::i18n::addressinput::RECIPIENT;
|
| + return true;
|
| + default:
|
| + return false;
|
| + }
|
| +}
|
| +
|
| } // namespace i18n
|
| } // namespace autofill
|
|
|