Index: chrome/browser/ui/webui/options2/language_options_handler2.cc |
diff --git a/chrome/browser/ui/webui/options2/language_options_handler2.cc b/chrome/browser/ui/webui/options2/language_options_handler2.cc |
index 3e43a56b6eb6bcce4fed34e6e5d2e7a1d4abd955..09d824f86430cf5f5ee03e8ccf16e19a31f34895 100644 |
--- a/chrome/browser/ui/webui/options2/language_options_handler2.cc |
+++ b/chrome/browser/ui/webui/options2/language_options_handler2.cc |
@@ -80,7 +80,6 @@ ListValue* LanguageOptionsHandler::GetLanguageList() { |
string16 native_display_name = |
l10n_util::GetDisplayNameForLocale(language_codes[i], language_codes[i], |
false); |
- base::i18n::AdjustStringForLocaleDirection(&native_display_name); |
display_names.push_back(display_name); |
language_map[display_name] = |
std::make_pair(language_codes[i], native_display_name); |
@@ -93,15 +92,22 @@ ListValue* LanguageOptionsHandler::GetLanguageList() { |
// Build the language list from the language map. |
ListValue* language_list = new ListValue(); |
for (size_t i = 0; i < display_names.size(); ++i) { |
- const LanguagePair& pair = language_map[display_names[i]]; |
- bool has_rtl_chars = base::i18n::StringContainsStrongRTLChars( |
- display_names[i]); |
+ string16& display_name = display_names[i]; |
+ string16 adjusted_display_name(display_name); |
+ base::i18n::AdjustStringForLocaleDirection(&adjusted_display_name); |
+ |
+ const LanguagePair& pair = language_map[display_name]; |
+ string16 adjusted_native_display_name(pair.second); |
+ base::i18n::AdjustStringForLocaleDirection(&adjusted_native_display_name); |
+ |
+ bool has_rtl_chars = base::i18n::StringContainsStrongRTLChars(display_name); |
std::string directionality = has_rtl_chars ? "rtl" : "ltr"; |
+ |
DictionaryValue* dictionary = new DictionaryValue(); |
dictionary->SetString("code", pair.first); |
- dictionary->SetString("displayName", display_names[i]); |
+ dictionary->SetString("displayName", adjusted_display_name); |
dictionary->SetString("textDirection", directionality); |
- dictionary->SetString("nativeDisplayName", pair.second); |
+ dictionary->SetString("nativeDisplayName", adjusted_native_display_name); |
language_list->Append(dictionary); |
} |