| Index: chrome/browser/ui/webui/chromeos/login/l10n_util.cc
|
| diff --git a/chrome/browser/ui/webui/chromeos/login/l10n_util.cc b/chrome/browser/ui/webui/chromeos/login/l10n_util.cc
|
| index 301bc773193fd42cc197bd8ceb09eebe87e12b21..8b10d785cb5fc2ccbd9af26b7682982de37bdaca 100644
|
| --- a/chrome/browser/ui/webui/chromeos/login/l10n_util.cc
|
| +++ b/chrome/browser/ui/webui/chromeos/login/l10n_util.cc
|
| @@ -268,17 +268,11 @@ scoped_ptr<base::ListValue> GetLanguageList(
|
| const bool markup_removal =
|
| base::i18n::UnadjustStringForLocaleDirection(&display_name);
|
| DCHECK(markup_removal);
|
| - const bool has_rtl_chars =
|
| - base::i18n::StringContainsStrongRTLChars(display_name);
|
| - const std::string directionality = has_rtl_chars ? "rtl" : "ltr";
|
| + const std::string directionality = GetLanguageDirectionality(display_name);
|
|
|
| const LanguagePair& pair = language_map[out_display_names[i]];
|
| - base::DictionaryValue* dictionary = new base::DictionaryValue();
|
| - dictionary->SetString("code", pair.first);
|
| - dictionary->SetString("displayName", out_display_names[i]);
|
| - dictionary->SetString("textDirection", directionality);
|
| - dictionary->SetString("nativeDisplayName", pair.second);
|
| - language_list->Append(dictionary);
|
| + language_list->Append(CreateLanguageEntry(
|
| + pair.first, out_display_names[i], directionality, pair.second));
|
| }
|
|
|
| return language_list.Pass();
|
| @@ -323,6 +317,26 @@ void GetKeyboardLayoutsForResolvedLocale(
|
|
|
| } // namespace
|
|
|
| +base::DictionaryValue* CreateLanguageEntry(
|
| + const std::string& language_code,
|
| + const base::string16& language_display_name,
|
| + const std::string& language_directionality,
|
| + const base::string16& language_native_display_name) {
|
| + scoped_ptr<base::DictionaryValue> dictionary(new base::DictionaryValue());
|
| + dictionary->SetString("code", language_code);
|
| + dictionary->SetString("displayName", language_display_name);
|
| + dictionary->SetString("textDirection", language_directionality);
|
| + dictionary->SetString("nativeDisplayName", language_native_display_name);
|
| + return dictionary.release();
|
| +}
|
| +
|
| +const std::string GetLanguageDirectionality(
|
| + const base::string16& language_display_name) {
|
| + const bool has_rtl_chars =
|
| + base::i18n::StringContainsStrongRTLChars(language_display_name);
|
| + return has_rtl_chars ? "rtl" : "ltr";
|
| +}
|
| +
|
| const char kMostRelevantLanguagesDivider[] = "MOST_RELEVANT_LANGUAGES_DIVIDER";
|
|
|
| scoped_ptr<base::ListValue> GetUILanguageList(
|
|
|