From b1c6a6e8fc6b4368cf63dfc00e8a4fec691fed1d Mon Sep 17 00:00:00 2001 From: alemate Date: Fri, 26 Sep 2014 17:42:20 -0700 Subject: [PATCH] GetUILanguageList should correctly handle locale aliases. GetUILanguageList didn't check for locale aliases when resolving input method languages. This patch fixes it. BUG=418220 TEST=manual Review URL: https://codereview.chromium.org/608903003 Cr-Commit-Position: refs/heads/master@{#297086} --- chrome/browser/ui/webui/chromeos/login/l10n_util.cc | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/chrome/browser/ui/webui/chromeos/login/l10n_util.cc b/chrome/browser/ui/webui/chromeos/login/l10n_util.cc index d71427cd0c61..301bc773193f 100644 --- a/chrome/browser/ui/webui/chromeos/login/l10n_util.cc +++ b/chrome/browser/ui/webui/chromeos/login/l10n_util.cc @@ -167,7 +167,18 @@ scoped_ptr GetLanguageList( if (std::find(base_language_codes.begin(), base_language_codes.end(), *it) == base_language_codes.end()) { - continue; + // Try to translate language code and look up again. + std::string resolved_locale; + + if (!l10n_util::CheckAndResolveLocale(*it, &resolved_locale)) + continue; + + if (std::find(base_language_codes.begin(), + base_language_codes.end(), + resolved_locale) == base_language_codes.end()) { + continue; + } + // Translated language was successfully found. } const base::string16 display_name = -- 2.11.4.GIT