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

Unified Diff: chrome/browser/chromeos/dom_ui/language_options_handler.cc

Issue 3008016: Display the language name and the input method list dynamically. (Closed)
Patch Set: fix comments Created 10 years, 5 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
Index: chrome/browser/chromeos/dom_ui/language_options_handler.cc
diff --git a/chrome/browser/chromeos/dom_ui/language_options_handler.cc b/chrome/browser/chromeos/dom_ui/language_options_handler.cc
index 0a94285ab37a93c7d3fc66d106c66bf15865f4e3..cf3f97179ab3f59a5c2b6d8c4804b2405add96db 100644
--- a/chrome/browser/chromeos/dom_ui/language_options_handler.cc
+++ b/chrome/browser/chromeos/dom_ui/language_options_handler.cc
@@ -8,6 +8,8 @@
#include "app/resource_bundle.h"
#include "base/values.h"
#include "base/utf_string_conversions.h"
+#include "chrome/browser/chromeos/cros/cros_library.h"
+#include "chrome/browser/chromeos/cros/input_method_library.h"
#include "chrome/browser/chromeos/input_method/input_method_util.h"
#include "grit/chromium_strings.h"
#include "grit/generated_resources.h"
@@ -51,4 +53,31 @@ void LanguageOptionsHandler::GetLocalizedValues(
localized_strings->SetString(UTF8ToWide(locales[i]),
chromeos::input_method::GetLanguageDisplayNameFromCode(locales[i]));
}
+
+ localized_strings->Set(L"inputMethodList", GetInputMethodList());
+}
+
+ListValue* LanguageOptionsHandler::GetInputMethodList() {
+ using chromeos::CrosLibrary;
+
+ ListValue* input_method_list = new ListValue();
+
+ // GetSupportedLanguages() never return NULL.
+ scoped_ptr<chromeos::InputMethodDescriptors> descriptors(
+ CrosLibrary::Get()->GetInputMethodLibrary()->GetSupportedInputMethods());
+ for (size_t i = 0; i < descriptors->size(); ++i) {
+ const chromeos::InputMethodDescriptor& descriptor = descriptors->at(i);
+ const std::string language_code =
+ chromeos::input_method::GetLanguageCodeFromDescriptor(descriptor);
+ const std::string display_name =
+ chromeos::input_method::GetInputMethodDisplayNameFromId(descriptor.id);
+
+ DictionaryValue* dictionary = new DictionaryValue();
+ dictionary->SetString(L"id", UTF8ToWide(descriptor.id));
+ dictionary->SetString(L"displayName", UTF8ToWide(display_name));
+ dictionary->SetString(L"languageCode", UTF8ToWide(language_code));
+ input_method_list->Append(dictionary);
+ }
+
+ return input_method_list;
}
« no previous file with comments | « chrome/browser/chromeos/dom_ui/language_options_handler.h ('k') | chrome/browser/resources/options/chromeos_language_list.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698