Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(6474)

Unified Diff: chrome/browser/ui/webui/options2/language_options_handler2.cc

Issue 10255017: Fixed failure to add language in language settings page. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fixed error from eearlier edit. Created 8 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/browser/resources/options2/language_list.js ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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);
}
« no previous file with comments | « chrome/browser/resources/options2/language_list.js ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698