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

Side by Side Diff: chrome/browser/ui/webui/chromeos/login/l10n_util.cc

Issue 483523005: Default to current UI locale when recommended locales are invalid (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 4 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 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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/ui/webui/chromeos/login/l10n_util.h" 5 #include "chrome/browser/ui/webui/chromeos/login/l10n_util.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <iterator> 8 #include <iterator>
9 #include <map> 9 #include <map>
10 #include <set> 10 #include <set>
(...skipping 352 matching lines...) Expand 10 before | Expand all | Expand 10 after
363 } 363 }
364 364
365 language_info->SetString("value", value); 365 language_info->SetString("value", value);
366 language_info->SetString("title", display_name); 366 language_info->SetString("title", display_name);
367 if (value == selected) 367 if (value == selected)
368 language_info->SetBoolean("selected", true); 368 language_info->SetBoolean("selected", true);
369 } 369 }
370 return languages_list.Pass(); 370 return languages_list.Pass();
371 } 371 }
372 372
373 std::string FindMostRelevantLocale(
374 const std::vector<std::string>* most_relevant_language_codes,
375 const base::ListValue& available_locales,
376 const std::string& fallback_locale) {
377 if (!most_relevant_language_codes)
378 return fallback_locale;
379
380 for (std::vector<std::string>::const_iterator most_relevant_it =
381 most_relevant_language_codes->begin();
382 most_relevant_it != most_relevant_language_codes->end();
383 ++most_relevant_it) {
384 base::StringValue most_relevant_locale(*most_relevant_it);
385 for (base::ListValue::const_iterator available_it =
386 available_locales.begin();
387 available_it != available_locales.end(); ++available_it) {
388 if (most_relevant_locale.Equals(*available_it))
389 return *most_relevant_it;
390 }
391 }
392
393 return fallback_locale;
394 }
395
373 scoped_ptr<base::ListValue> GetAcceptLanguageList() { 396 scoped_ptr<base::ListValue> GetAcceptLanguageList() {
374 // Collect the language codes from the supported accept-languages. 397 // Collect the language codes from the supported accept-languages.
375 const std::string app_locale = g_browser_process->GetApplicationLocale(); 398 const std::string app_locale = g_browser_process->GetApplicationLocale();
376 std::vector<std::string> accept_language_codes; 399 std::vector<std::string> accept_language_codes;
377 l10n_util::GetAcceptLanguagesForLocale(app_locale, &accept_language_codes); 400 l10n_util::GetAcceptLanguagesForLocale(app_locale, &accept_language_codes);
378 return GetLanguageList( 401 return GetLanguageList(
379 *input_method::InputMethodManager::Get()->GetSupportedInputMethods(), 402 *input_method::InputMethodManager::Get()->GetSupportedInputMethods(),
380 accept_language_codes, 403 accept_language_codes,
381 StartupCustomizationDocument::GetInstance()->configured_locales(), 404 StartupCustomizationDocument::GetInstance()->configured_locales(),
382 false); 405 false);
(...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after
471 scoped_ptr<base::DictionaryValue> GetCurrentKeyboardLayout() { 494 scoped_ptr<base::DictionaryValue> GetCurrentKeyboardLayout() {
472 const input_method::InputMethodDescriptor current_input_method = 495 const input_method::InputMethodDescriptor current_input_method =
473 input_method::InputMethodManager::Get() 496 input_method::InputMethodManager::Get()
474 ->GetActiveIMEState() 497 ->GetActiveIMEState()
475 ->GetCurrentInputMethod(); 498 ->GetCurrentInputMethod();
476 return CreateInputMethodsEntry(current_input_method, 499 return CreateInputMethodsEntry(current_input_method,
477 current_input_method.id()); 500 current_input_method.id());
478 } 501 }
479 502
480 } // namespace chromeos 503 } // namespace chromeos
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698