| Index: third_party/libaddressinput/chromium/cpp/src/address_data.cc
|
| diff --git a/third_party/libaddressinput/chromium/cpp/src/address_data.cc b/third_party/libaddressinput/chromium/cpp/src/address_data.cc
|
| index 51d36c6d9d63153296da075856c3cfe536f09cce..6a650926e18fa155f178137db41caa8b6badc798 100644
|
| --- a/third_party/libaddressinput/chromium/cpp/src/address_data.cc
|
| +++ b/third_party/libaddressinput/chromium/cpp/src/address_data.cc
|
| @@ -24,6 +24,7 @@
|
|
|
| #include "region_data_constants.h"
|
| #include "rule.h"
|
| +#include "util.h"
|
|
|
| namespace i18n {
|
| namespace addressinput {
|
| @@ -65,7 +66,15 @@ void AddressData::FormatForDisplay(std::vector<std::string>* lines) const {
|
| rule.CopyFrom(Rule::GetDefault());
|
| rule.ParseSerializedRule(RegionDataConstants::GetRegionData(country_code));
|
|
|
| - const std::vector<std::vector<FormatElement> >& format = rule.GetFormat();
|
| + std::string address_lang = NormalizeLanguageCode(language_code);
|
| + std::string rule_lang = NormalizeLanguageCode(rule.GetLanguage());
|
| +
|
| + const std::vector<std::vector<FormatElement> >& latin_format =
|
| + rule.GetLatinFormat();
|
| + const std::vector<std::vector<FormatElement> >& format =
|
| + address_lang != rule_lang && !latin_format.empty()
|
| + ? latin_format : rule.GetFormat();
|
| +
|
| for (size_t i = 0; i < format.size(); ++i) {
|
| std::string line;
|
| for (size_t j = 0; j < format[i].size(); ++j) {
|
| @@ -107,28 +116,5 @@ void AddressData::SetFieldValue(AddressField field, const std::string& value) {
|
| }
|
| }
|
|
|
| -const std::string& AddressData::GuessLanguageCode() const {
|
| - Rule rule;
|
| - rule.CopyFrom(Rule::GetDefault());
|
| - if (!rule.ParseSerializedRule(
|
| - RegionDataConstants::GetRegionData(country_code))) {
|
| - return language_code;
|
| - }
|
| -
|
| - std::vector<std::string>::const_iterator lang_it =
|
| - std::find(rule.GetLanguages().begin(),
|
| - rule.GetLanguages().end(),
|
| - language_code);
|
| - if (lang_it != rule.GetLanguages().end()) {
|
| - return *lang_it;
|
| - }
|
| -
|
| - if (!rule.GetLanguage().empty()) {
|
| - return rule.GetLanguage();
|
| - }
|
| -
|
| - return language_code;
|
| -}
|
| -
|
| } // namespace addressinput
|
| } // namespace i18n
|
|
|