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 1d4173e592564b7f0d24937d8cbc9d994ddbea25..9a6f5b5b2f0149df5f8cf345494f607cf4426af9 100644 |
--- a/components/autofill/core/browser/personal_data_manager.cc |
+++ b/components/autofill/core/browser/personal_data_manager.cc |
@@ -13,6 +13,7 @@ |
#include "base/memory/ref_counted.h" |
#include "base/prefs/pref_service.h" |
#include "base/strings/string_number_conversions.h" |
+#include "base/strings/string_split.h" |
#include "base/strings/string_util.h" |
#include "base/strings/utf_string_conversions.h" |
#include "components/autofill/core/browser/autofill-inl.h" |
@@ -24,6 +25,7 @@ |
#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/include/libaddressinput/address_ui.h" |
namespace autofill { |
namespace { |
@@ -578,7 +580,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 names into a single line, using a separator. |
Ilya Sherman
2014/05/23 10:05:05
nit: "names" -> "addresses"?
groby-ooo-7-16
2014/07/10 02:59:14
Done.
|
+ // The separator is locale-specific. |
+ base::string16 compact_separator = base::UTF8ToUTF16( |
+ ::i18n::addressinput::GetCompactAddressLinesSeparator(app_locale_)); |
Evan Stade
2014/05/22 23:41:28
not |app_locale_|. profile->language_code().
groby-ooo-7-16
2014/07/10 02:59:14
Done.
|
+ |
for (size_t i = 0; i < multi_values.size(); ++i) { |
+ // Create vertically compact form. |
+ std::vector<base::string16> lines; |
+ base::SplitString((*values)[i], '\n', &lines); |
+ (*values)[i] = JoinString(lines, compact_separator); |
+ |
if (!field_is_autofilled) { |
// Suggest data that starts with what the user has typed. |
if (!multi_values[i].empty() && |