Chromium Code Reviews| Index: components/autofill/core/browser/autofill_profile.cc |
| diff --git a/components/autofill/core/browser/autofill_profile.cc b/components/autofill/core/browser/autofill_profile.cc |
| index 02d6197e8176a0128b5d24ea78b932e329d3c1ef..9d4410a312bffdb003f7890b6a2e9f734f99fa04 100644 |
| --- a/components/autofill/core/browser/autofill_profile.cc |
| +++ b/components/autofill/core/browser/autofill_profile.cc |
| @@ -11,11 +11,13 @@ |
| #include <set> |
| #include "base/basictypes.h" |
| +#include "base/bind.h" |
| #include "base/guid.h" |
| #include "base/logging.h" |
| #include "base/strings/string_util.h" |
| #include "base/strings/utf_string_conversions.h" |
| #include "components/autofill/core/browser/address.h" |
| +#include "components/autofill/core/browser/address_i18n.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" |
| @@ -25,8 +27,10 @@ |
| #include "components/autofill/core/browser/validation.h" |
| #include "components/autofill/core/common/form_field_data.h" |
| #include "grit/component_strings.h" |
| +#include "third_party/libaddressinput/chromium/cpp/include/libaddressinput/address_data.h" |
| #include "ui/base/l10n/l10n_util.h" |
| + |
|
Ilya Sherman
2014/05/07 01:19:19
nit: Spurious newline.
Evan Stade
2014/05/09 22:14:59
Done.
|
| using base::ASCIIToUTF16; |
| using base::UTF16ToUTF8; |
| @@ -221,6 +225,12 @@ struct CaseInsensitiveStringEquals |
| } |
| }; |
| +base::string16 GetInfoHelper(const AutofillProfile* profile, |
|
Ilya Sherman
2014/05/07 01:19:19
nit: Why not const-ref?
Evan Stade
2014/05/09 22:14:59
Done.
|
| + const std::string& app_locale, |
| + const AutofillType& type) { |
| + return profile->GetInfo(type, app_locale); |
| +} |
| + |
| } // namespace |
| AutofillProfile::AutofillProfile(const std::string& guid, |
| @@ -293,6 +303,15 @@ void AutofillProfile::SetRawInfo(ServerFieldType type, |
| base::string16 AutofillProfile::GetInfo(const AutofillType& type, |
| const std::string& app_locale) const { |
| + if (type.html_type() == HTML_TYPE_FULL_ADDRESS) { |
| + scoped_ptr<::i18n::addressinput::AddressData> address_data = |
| + i18n::CreateAddressData(base::Bind(&GetInfoHelper, this, app_locale)); |
| + address_data->language_code = language_code(); |
| + std::vector<std::string> lines; |
| + address_data->FormatForDisplay(&lines); |
| + return base::UTF8ToUTF16(JoinString(lines, '\n')); |
| + } |
| + |
| const FormGroup* form_group = FormGroupForType(type); |
| if (!form_group) |
| return base::string16(); |