summaryrefslogtreecommitdiffstats
path: root/chrome/browser/chromeos/language_library.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/browser/chromeos/language_library.cc')
-rw-r--r--chrome/browser/chromeos/language_library.cc28
1 files changed, 28 insertions, 0 deletions
diff --git a/chrome/browser/chromeos/language_library.cc b/chrome/browser/chromeos/language_library.cc
index 7db0a2b..fcb0604 100644
--- a/chrome/browser/chromeos/language_library.cc
+++ b/chrome/browser/chromeos/language_library.cc
@@ -60,6 +60,14 @@ chromeos::InputLanguageList* LanguageLibrary::GetLanguages() {
return result ? result : CreateFallbackInputLanguageList();
}
+chromeos::InputLanguageList* LanguageLibrary::GetSupportedLanguages() {
+ chromeos::InputLanguageList* result = NULL;
+ if (EnsureLoaded()) {
+ result = chromeos::GetSupportedLanguages(language_status_connection_);
+ }
+ return result ? result : CreateFallbackInputLanguageList();
+}
+
void LanguageLibrary::ChangeLanguage(
LanguageCategory category, const std::string& id) {
if (EnsureLoaded()) {
@@ -67,6 +75,26 @@ void LanguageLibrary::ChangeLanguage(
}
}
+bool LanguageLibrary::ActivateLanguage(
+ LanguageCategory category, const std::string& id) {
+ bool success = false;
+ if (EnsureLoaded()) {
+ success = chromeos::ActivateLanguage(language_status_connection_,
+ category, id.c_str());
+ }
+ return success;
+}
+
+bool LanguageLibrary::DeactivateLanguage(
+ LanguageCategory category, const std::string& id) {
+ bool success = false;
+ if (EnsureLoaded()) {
+ success = chromeos::DeactivateLanguage(language_status_connection_,
+ category, id.c_str());
+ }
+ return success;
+}
+
// static
void LanguageLibrary::LanguageChangedHandler(
void* object, const chromeos::InputLanguage& current_language) {