| Index: components/autofill/core/browser/personal_data_manager.cc
|
| diff --git a/components/autofill/core/browser/personal_data_manager.cc b/components/autofill/core/browser/personal_data_manager.cc
|
| index d7ea312bc99a8293421bccf8be9dce660756c446..7fa4625c159b7d75077f203c8117d2645cdcc23a 100644
|
| --- a/components/autofill/core/browser/personal_data_manager.cc
|
| +++ b/components/autofill/core/browser/personal_data_manager.cc
|
| @@ -24,6 +24,9 @@
|
| #include "components/autofill/core/browser/phone_number_i18n.h"
|
| #include "components/autofill/core/browser/validation.h"
|
| #include "components/autofill/core/common/autofill_pref_names.h"
|
| +#include "third_party/libaddressinput/chromium/cpp/src/region_data_constants.h"
|
| +
|
| +using ::i18n::addressinput::RegionDataConstants;
|
|
|
| namespace autofill {
|
| namespace {
|
| @@ -566,7 +569,18 @@ void PersonalDataManager::GetProfileSuggestions(
|
| std::vector<base::string16> multi_values;
|
| profile->GetMultiInfo(type, app_locale_, &multi_values);
|
|
|
| + // Names need to be in vertically compact form - i.e. a single line. Join
|
| + // multi-line addresses into a single line, using a separator.
|
| + // The separator is locale-specific.
|
| + base::string16 compact_separator =
|
| + base::UTF8ToUTF16(RegionDataConstants::GetLanguageCompactLineSeparator(
|
| + profile->language_code()));
|
| for (size_t i = 0; i < multi_values.size(); ++i) {
|
| + // Create vertically compact form.
|
| + base::ReplaceChars(multi_values[i],
|
| + base::ASCIIToUTF16("\n"),
|
| + compact_separator,
|
| + &multi_values[i]);
|
| if (!field_is_autofilled) {
|
| // Suggest data that starts with what the user has typed.
|
| if (!multi_values[i].empty() &&
|
|
|