| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 "components/autofill/core/browser/address_i18n.h" | 5 #include "components/autofill/core/browser/address_i18n.h" |
| 6 | 6 |
| 7 #include "base/bind.h" | 7 #include "base/bind.h" |
| 8 #include "base/callback.h" | 8 #include "base/callback.h" |
| 9 #include "base/logging.h" | 9 #include "base/logging.h" |
| 10 #include "base/strings/string_split.h" | 10 #include "base/strings/string_split.h" |
| (...skipping 16 matching lines...) Expand all Loading... |
| 27 } // namespace | 27 } // namespace |
| 28 | 28 |
| 29 using ::i18n::addressinput::AddressData; | 29 using ::i18n::addressinput::AddressData; |
| 30 using ::i18n::addressinput::AddressField; | 30 using ::i18n::addressinput::AddressField; |
| 31 | 31 |
| 32 scoped_ptr<AddressData> CreateAddressData( | 32 scoped_ptr<AddressData> CreateAddressData( |
| 33 const base::Callback<base::string16(const AutofillType&)>& get_info) { | 33 const base::Callback<base::string16(const AutofillType&)>& get_info) { |
| 34 scoped_ptr<AddressData> address_data(new AddressData()); | 34 scoped_ptr<AddressData> address_data(new AddressData()); |
| 35 address_data->recipient = base::UTF16ToUTF8( | 35 address_data->recipient = base::UTF16ToUTF8( |
| 36 get_info.Run(AutofillType(NAME_FULL))); | 36 get_info.Run(AutofillType(NAME_FULL))); |
| 37 address_data->organization = base::UTF16ToUTF8( |
| 38 get_info.Run(AutofillType(COMPANY_NAME))); |
| 37 address_data->region_code = base::UTF16ToUTF8( | 39 address_data->region_code = base::UTF16ToUTF8( |
| 38 get_info.Run(AutofillType(HTML_TYPE_COUNTRY_CODE, HTML_MODE_NONE))); | 40 get_info.Run(AutofillType(HTML_TYPE_COUNTRY_CODE, HTML_MODE_NONE))); |
| 39 address_data->administrative_area = base::UTF16ToUTF8( | 41 address_data->administrative_area = base::UTF16ToUTF8( |
| 40 get_info.Run(AutofillType(ADDRESS_HOME_STATE))); | 42 get_info.Run(AutofillType(ADDRESS_HOME_STATE))); |
| 41 address_data->locality = base::UTF16ToUTF8( | 43 address_data->locality = base::UTF16ToUTF8( |
| 42 get_info.Run(AutofillType(ADDRESS_HOME_CITY))); | 44 get_info.Run(AutofillType(ADDRESS_HOME_CITY))); |
| 43 address_data->dependent_locality = base::UTF16ToUTF8( | 45 address_data->dependent_locality = base::UTF16ToUTF8( |
| 44 get_info.Run(AutofillType(ADDRESS_HOME_DEPENDENT_LOCALITY))); | 46 get_info.Run(AutofillType(ADDRESS_HOME_DEPENDENT_LOCALITY))); |
| 45 address_data->sorting_code = base::UTF16ToUTF8( | 47 address_data->sorting_code = base::UTF16ToUTF8( |
| 46 get_info.Run(AutofillType(ADDRESS_HOME_SORTING_CODE))); | 48 get_info.Run(AutofillType(ADDRESS_HOME_SORTING_CODE))); |
| (...skipping 27 matching lines...) Expand all Loading... |
| 74 case ::i18n::addressinput::DEPENDENT_LOCALITY: | 76 case ::i18n::addressinput::DEPENDENT_LOCALITY: |
| 75 return billing ? ADDRESS_BILLING_DEPENDENT_LOCALITY | 77 return billing ? ADDRESS_BILLING_DEPENDENT_LOCALITY |
| 76 : ADDRESS_HOME_DEPENDENT_LOCALITY; | 78 : ADDRESS_HOME_DEPENDENT_LOCALITY; |
| 77 case ::i18n::addressinput::POSTAL_CODE: | 79 case ::i18n::addressinput::POSTAL_CODE: |
| 78 return billing ? ADDRESS_BILLING_ZIP : ADDRESS_HOME_ZIP; | 80 return billing ? ADDRESS_BILLING_ZIP : ADDRESS_HOME_ZIP; |
| 79 case ::i18n::addressinput::SORTING_CODE: | 81 case ::i18n::addressinput::SORTING_CODE: |
| 80 return billing ? ADDRESS_BILLING_SORTING_CODE : ADDRESS_HOME_SORTING_CODE; | 82 return billing ? ADDRESS_BILLING_SORTING_CODE : ADDRESS_HOME_SORTING_CODE; |
| 81 case ::i18n::addressinput::STREET_ADDRESS: | 83 case ::i18n::addressinput::STREET_ADDRESS: |
| 82 return billing ? ADDRESS_BILLING_STREET_ADDRESS | 84 return billing ? ADDRESS_BILLING_STREET_ADDRESS |
| 83 : ADDRESS_HOME_STREET_ADDRESS; | 85 : ADDRESS_HOME_STREET_ADDRESS; |
| 86 case ::i18n::addressinput::ORGANIZATION: |
| 87 return COMPANY_NAME; |
| 84 case ::i18n::addressinput::RECIPIENT: | 88 case ::i18n::addressinput::RECIPIENT: |
| 85 return billing ? NAME_BILLING_FULL : NAME_FULL; | 89 return billing ? NAME_BILLING_FULL : NAME_FULL; |
| 86 } | 90 } |
| 87 NOTREACHED(); | 91 NOTREACHED(); |
| 88 return UNKNOWN_TYPE; | 92 return UNKNOWN_TYPE; |
| 89 } | 93 } |
| 90 | 94 |
| 91 bool FieldForType(ServerFieldType server_type, AddressField* field) { | 95 bool FieldForType(ServerFieldType server_type, AddressField* field) { |
| 92 switch (server_type) { | 96 switch (server_type) { |
| 93 case ADDRESS_BILLING_COUNTRY: | 97 case ADDRESS_BILLING_COUNTRY: |
| (...skipping 28 matching lines...) Expand all Loading... |
| 122 return true; | 126 return true; |
| 123 case ADDRESS_BILLING_STREET_ADDRESS: | 127 case ADDRESS_BILLING_STREET_ADDRESS: |
| 124 case ADDRESS_BILLING_LINE1: | 128 case ADDRESS_BILLING_LINE1: |
| 125 case ADDRESS_BILLING_LINE2: | 129 case ADDRESS_BILLING_LINE2: |
| 126 case ADDRESS_HOME_STREET_ADDRESS: | 130 case ADDRESS_HOME_STREET_ADDRESS: |
| 127 case ADDRESS_HOME_LINE1: | 131 case ADDRESS_HOME_LINE1: |
| 128 case ADDRESS_HOME_LINE2: | 132 case ADDRESS_HOME_LINE2: |
| 129 if (field) | 133 if (field) |
| 130 *field = ::i18n::addressinput::STREET_ADDRESS; | 134 *field = ::i18n::addressinput::STREET_ADDRESS; |
| 131 return true; | 135 return true; |
| 136 case COMPANY_NAME: |
| 137 if (field) |
| 138 *field = ::i18n::addressinput::ORGANIZATION; |
| 139 return true; |
| 132 case NAME_BILLING_FULL: | 140 case NAME_BILLING_FULL: |
| 133 case NAME_FULL: | 141 case NAME_FULL: |
| 134 if (field) | 142 if (field) |
| 135 *field = ::i18n::addressinput::RECIPIENT; | 143 *field = ::i18n::addressinput::RECIPIENT; |
| 136 return true; | 144 return true; |
| 137 default: | 145 default: |
| 138 return false; | 146 return false; |
| 139 } | 147 } |
| 140 } | 148 } |
| 141 | 149 |
| 142 } // namespace i18n | 150 } // namespace i18n |
| 143 } // namespace autofill | 151 } // namespace autofill |
| OLD | NEW |