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

Side by Side Diff: chrome/browser/chromeos/dom_ui/language_options_handler.cc

Issue 5990008: Remove wstring from l10n_util. Part 1.... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: Created 9 years, 12 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2010 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/chromeos/dom_ui/language_options_handler.h" 5 #include "chrome/browser/chromeos/dom_ui/language_options_handler.h"
6 6
7 #include <map> 7 #include <map>
8 #include <set> 8 #include <set>
9 #include <string> 9 #include <string>
10 #include <utility> 10 #include <utility>
(...skipping 178 matching lines...) Expand 10 before | Expand all | Expand 10 after
189 for (size_t i = 0; i < arraysize(input_method::kExtraLanguages); ++i) { 189 for (size_t i = 0; i < arraysize(input_method::kExtraLanguages); ++i) {
190 const char* language_code = 190 const char* language_code =
191 input_method::kExtraLanguages[i].language_code; 191 input_method::kExtraLanguages[i].language_code;
192 language_codes.insert(language_code); 192 language_codes.insert(language_code);
193 } 193 }
194 194
195 // Map of display name -> {language code, native_display_name}. 195 // Map of display name -> {language code, native_display_name}.
196 // In theory, we should be able to create a map that is sorted by 196 // In theory, we should be able to create a map that is sorted by
197 // display names using ICU comparator, but doing it is hard, thus we'll 197 // display names using ICU comparator, but doing it is hard, thus we'll
198 // use an auxiliary vector to achieve the same result. 198 // use an auxiliary vector to achieve the same result.
199 typedef std::pair<std::string, std::wstring> LanguagePair; 199 typedef std::pair<std::string, string16> LanguagePair;
200 typedef std::map<std::wstring, LanguagePair> LanguageMap; 200 typedef std::map<string16, LanguagePair> LanguageMap;
201 LanguageMap language_map; 201 LanguageMap language_map;
202 // The auxiliary vector mentioned above. 202 // The auxiliary vector mentioned above.
203 std::vector<std::wstring> display_names; 203 std::vector<string16> display_names;
204 204
205 // Build the list of display names, and build the language map. 205 // Build the list of display names, and build the language map.
206 for (std::set<std::string>::const_iterator iter = language_codes.begin(); 206 for (std::set<std::string>::const_iterator iter = language_codes.begin();
207 iter != language_codes.end(); ++iter) { 207 iter != language_codes.end(); ++iter) {
208 const std::wstring display_name = 208 const string16 display_name =
209 input_method::GetLanguageDisplayNameFromCode(*iter); 209 input_method::GetLanguageDisplayNameFromCode(*iter);
210 const std::wstring native_display_name = 210 const string16 native_display_name =
211 input_method::GetLanguageNativeDisplayNameFromCode(*iter); 211 input_method::GetLanguageNativeDisplayNameFromCode(*iter);
212 display_names.push_back(display_name); 212 display_names.push_back(display_name);
213 language_map[display_name] = 213 language_map[display_name] =
214 std::make_pair(*iter, native_display_name); 214 std::make_pair(*iter, native_display_name);
215 } 215 }
216 DCHECK_EQ(display_names.size(), language_map.size()); 216 DCHECK_EQ(display_names.size(), language_map.size());
217 217
218 // Sort display names using locale specific sorter. 218 // Sort display names using locale specific sorter.
219 l10n_util::SortStrings(g_browser_process->GetApplicationLocale(), 219 l10n_util::SortStrings16(g_browser_process->GetApplicationLocale(),
220 &display_names); 220 &display_names);
221 221
222 // Build the language list from the language map. 222 // Build the language list from the language map.
223 ListValue* language_list = new ListValue(); 223 ListValue* language_list = new ListValue();
224 for (size_t i = 0; i < display_names.size(); ++i) { 224 for (size_t i = 0; i < display_names.size(); ++i) {
225 const LanguagePair& pair = language_map[display_names[i]]; 225 const LanguagePair& pair = language_map[display_names[i]];
226 DictionaryValue* dictionary = new DictionaryValue(); 226 DictionaryValue* dictionary = new DictionaryValue();
227 dictionary->SetString("code", pair.first); 227 dictionary->SetString("code", pair.first);
228 dictionary->SetString("displayName", WideToUTF16Hack(display_names[i])); 228 dictionary->SetString("displayName", display_names[i]);
229 dictionary->SetString("nativeDisplayName", WideToUTF16Hack(pair.second)); 229 dictionary->SetString("nativeDisplayName", pair.second);
230 language_list->Append(dictionary); 230 language_list->Append(dictionary);
231 } 231 }
232 232
233 return language_list; 233 return language_list;
234 } 234 }
235 235
236 DictionaryValue* LanguageOptionsHandler::GetUiLanguageCodeSet() { 236 DictionaryValue* LanguageOptionsHandler::GetUiLanguageCodeSet() {
237 DictionaryValue* dictionary = new DictionaryValue(); 237 DictionaryValue* dictionary = new DictionaryValue();
238 const std::vector<std::string>& available_locales = 238 const std::vector<std::string>& available_locales =
239 l10n_util::GetAvailableLocales(); 239 l10n_util::GetAvailableLocales();
(...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after
317 void LanguageOptionsHandler::SignOutCallback(const ListValue* args) { 317 void LanguageOptionsHandler::SignOutCallback(const ListValue* args) {
318 UserMetrics::RecordAction(UserMetricsAction("LanguageOptions_SignOut")); 318 UserMetrics::RecordAction(UserMetricsAction("LanguageOptions_SignOut"));
319 319
320 Browser* browser = Browser::GetBrowserForController( 320 Browser* browser = Browser::GetBrowserForController(
321 &dom_ui_->tab_contents()->controller(), NULL); 321 &dom_ui_->tab_contents()->controller(), NULL);
322 if (browser) 322 if (browser)
323 browser->ExecuteCommand(IDC_EXIT); 323 browser->ExecuteCommand(IDC_EXIT);
324 } 324 }
325 325
326 } // namespace chromeos 326 } // namespace chromeos
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698