| OLD | NEW |
| 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 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 52 return input_method.Pass(); | 52 return input_method.Pass(); |
| 53 } | 53 } |
| 54 | 54 |
| 55 // Returns true if element was inserted. | 55 // Returns true if element was inserted. |
| 56 bool InsertString(const std::string& str, std::set<std::string>* to) { | 56 bool InsertString(const std::string& str, std::set<std::string>* to) { |
| 57 const std::pair<std::set<std::string>::iterator, bool> result = | 57 const std::pair<std::set<std::string>::iterator, bool> result = |
| 58 to->insert(str); | 58 to->insert(str); |
| 59 return result.second; | 59 return result.second; |
| 60 } | 60 } |
| 61 | 61 |
| 62 #if !defined(USE_ATHENA) |
| 63 // TODO(dpolukhin): crbug.com/407579 |
| 62 void AddOptgroupOtherLayouts(base::ListValue* input_methods_list) { | 64 void AddOptgroupOtherLayouts(base::ListValue* input_methods_list) { |
| 63 scoped_ptr<base::DictionaryValue> optgroup(new base::DictionaryValue); | 65 scoped_ptr<base::DictionaryValue> optgroup(new base::DictionaryValue); |
| 64 optgroup->SetString( | 66 optgroup->SetString( |
| 65 "optionGroupName", | 67 "optionGroupName", |
| 66 l10n_util::GetStringUTF16(IDS_OOBE_OTHER_KEYBOARD_LAYOUTS)); | 68 l10n_util::GetStringUTF16(IDS_OOBE_OTHER_KEYBOARD_LAYOUTS)); |
| 67 input_methods_list->Append(optgroup.release()); | 69 input_methods_list->Append(optgroup.release()); |
| 68 } | 70 } |
| 71 #endif |
| 69 | 72 |
| 70 // Gets the list of languages with |descriptors| based on |base_language_codes|. | 73 // Gets the list of languages with |descriptors| based on |base_language_codes|. |
| 71 // The |most_relevant_language_codes| will be first in the list. If | 74 // The |most_relevant_language_codes| will be first in the list. If |
| 72 // |insert_divider| is true, an entry with its "code" attribute set to | 75 // |insert_divider| is true, an entry with its "code" attribute set to |
| 73 // kMostRelevantLanguagesDivider is placed between the most relevant languages | 76 // kMostRelevantLanguagesDivider is placed between the most relevant languages |
| 74 // and all others. | 77 // and all others. |
| 75 scoped_ptr<base::ListValue> GetLanguageList( | 78 scoped_ptr<base::ListValue> GetLanguageList( |
| 76 const input_method::InputMethodDescriptors& descriptors, | 79 const input_method::InputMethodDescriptors& descriptors, |
| 77 const std::vector<std::string>& base_language_codes, | 80 const std::vector<std::string>& base_language_codes, |
| 78 const std::vector<std::string>& most_relevant_language_codes, | 81 const std::vector<std::string>& most_relevant_language_codes, |
| (...skipping 315 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 394 *input_method::InputMethodManager::Get()->GetSupportedInputMethods(), | 397 *input_method::InputMethodManager::Get()->GetSupportedInputMethods(), |
| 395 accept_language_codes, | 398 accept_language_codes, |
| 396 StartupCustomizationDocument::GetInstance()->configured_locales(), | 399 StartupCustomizationDocument::GetInstance()->configured_locales(), |
| 397 false); | 400 false); |
| 398 } | 401 } |
| 399 | 402 |
| 400 scoped_ptr<base::ListValue> GetAndActivateLoginKeyboardLayouts( | 403 scoped_ptr<base::ListValue> GetAndActivateLoginKeyboardLayouts( |
| 401 const std::string& locale, | 404 const std::string& locale, |
| 402 const std::string& selected) { | 405 const std::string& selected) { |
| 403 scoped_ptr<base::ListValue> input_methods_list(new base::ListValue); | 406 scoped_ptr<base::ListValue> input_methods_list(new base::ListValue); |
| 407 #if !defined(USE_ATHENA) |
| 408 // TODO(dpolukhin): crbug.com/407579 |
| 404 input_method::InputMethodManager* manager = | 409 input_method::InputMethodManager* manager = |
| 405 input_method::InputMethodManager::Get(); | 410 input_method::InputMethodManager::Get(); |
| 406 input_method::InputMethodUtil* util = manager->GetInputMethodUtil(); | 411 input_method::InputMethodUtil* util = manager->GetInputMethodUtil(); |
| 407 | 412 |
| 408 const std::vector<std::string>& hardware_login_input_methods = | 413 const std::vector<std::string>& hardware_login_input_methods = |
| 409 util->GetHardwareLoginInputMethodIds(); | 414 util->GetHardwareLoginInputMethodIds(); |
| 410 | 415 |
| 411 manager->GetActiveIMEState()->EnableLoginLayouts( | 416 manager->GetActiveIMEState()->EnableLoginLayouts( |
| 412 locale, hardware_login_input_methods); | 417 locale, hardware_login_input_methods); |
| 413 | 418 |
| (...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 452 const input_method::InputMethodDescriptor* us_eng_descriptor = | 457 const input_method::InputMethodDescriptor* us_eng_descriptor = |
| 453 util->GetInputMethodDescriptorFromId(us_keyboard_id); | 458 util->GetInputMethodDescriptorFromId(us_keyboard_id); |
| 454 DCHECK(us_eng_descriptor); | 459 DCHECK(us_eng_descriptor); |
| 455 if (!optgroup_added) { | 460 if (!optgroup_added) { |
| 456 optgroup_added = true; | 461 optgroup_added = true; |
| 457 AddOptgroupOtherLayouts(input_methods_list.get()); | 462 AddOptgroupOtherLayouts(input_methods_list.get()); |
| 458 } | 463 } |
| 459 input_methods_list->Append(CreateInputMethodsEntry(*us_eng_descriptor, | 464 input_methods_list->Append(CreateInputMethodsEntry(*us_eng_descriptor, |
| 460 selected).release()); | 465 selected).release()); |
| 461 } | 466 } |
| 467 #endif |
| 462 return input_methods_list.Pass(); | 468 return input_methods_list.Pass(); |
| 463 } | 469 } |
| 464 | 470 |
| 465 void GetKeyboardLayoutsForLocale( | 471 void GetKeyboardLayoutsForLocale( |
| 466 const GetKeyboardLayoutsForLocaleCallback& callback, | 472 const GetKeyboardLayoutsForLocaleCallback& callback, |
| 467 const std::string& locale) { | 473 const std::string& locale) { |
| 468 base::SequencedWorkerPool* worker_pool = | 474 base::SequencedWorkerPool* worker_pool = |
| 469 content::BrowserThread::GetBlockingPool(); | 475 content::BrowserThread::GetBlockingPool(); |
| 470 scoped_refptr<base::SequencedTaskRunner> background_task_runner = | 476 scoped_refptr<base::SequencedTaskRunner> background_task_runner = |
| 471 worker_pool->GetSequencedTaskRunnerWithShutdownBehavior( | 477 worker_pool->GetSequencedTaskRunnerWithShutdownBehavior( |
| (...skipping 14 matching lines...) Expand all Loading... |
| 486 scoped_ptr<base::DictionaryValue> GetCurrentKeyboardLayout() { | 492 scoped_ptr<base::DictionaryValue> GetCurrentKeyboardLayout() { |
| 487 const input_method::InputMethodDescriptor current_input_method = | 493 const input_method::InputMethodDescriptor current_input_method = |
| 488 input_method::InputMethodManager::Get() | 494 input_method::InputMethodManager::Get() |
| 489 ->GetActiveIMEState() | 495 ->GetActiveIMEState() |
| 490 ->GetCurrentInputMethod(); | 496 ->GetCurrentInputMethod(); |
| 491 return CreateInputMethodsEntry(current_input_method, | 497 return CreateInputMethodsEntry(current_input_method, |
| 492 current_input_method.id()); | 498 current_input_method.id()); |
| 493 } | 499 } |
| 494 | 500 |
| 495 } // namespace chromeos | 501 } // namespace chromeos |
| OLD | NEW |