Index: chrome/browser/chromeos/extensions/input_method_api.cc |
diff --git a/chrome/browser/chromeos/extensions/input_method_api.cc b/chrome/browser/chromeos/extensions/input_method_api.cc |
index 28d1811bd5ac832a74f80cf3c56018f33b949508..b931747b49b8f69c95613bea313a3a274631ef35 100644 |
--- a/chrome/browser/chromeos/extensions/input_method_api.cc |
+++ b/chrome/browser/chromeos/extensions/input_method_api.cc |
@@ -11,16 +11,20 @@ |
#include "base/command_line.h" |
#include "base/lazy_instance.h" |
+#include "base/prefs/pref_service.h" |
#include "base/values.h" |
#include "build/build_config.h" |
#include "chrome/browser/chromeos/extensions/dictionary_event_router.h" |
+#include "chrome/browser/chromeos/extensions/ime_menu_event_router.h" |
#include "chrome/browser/chromeos/extensions/input_method_event_router.h" |
#include "chrome/browser/chromeos/input_method/input_method_util.h" |
#include "chrome/browser/extensions/api/input_ime/input_ime_api.h" |
+#include "chrome/browser/profiles/profile.h" |
#include "chrome/browser/spellchecker/spellcheck_factory.h" |
#include "chrome/browser/spellchecker/spellcheck_service.h" |
#include "chrome/browser/sync/profile_sync_service_factory.h" |
#include "chrome/common/extensions/api/input_method_private.h" |
+#include "chrome/common/pref_names.h" |
#include "chromeos/chromeos_switches.h" |
#include "components/browser_sync/browser/profile_sync_service.h" |
#include "extensions/browser/extension_function_registry.h" |
@@ -39,6 +43,8 @@ namespace OnDictionaryChanged = |
extensions::api::input_method_private::OnDictionaryChanged; |
namespace OnDictionaryLoaded = |
extensions::api::input_method_private::OnDictionaryLoaded; |
+namespace OnImeMenuActivationChanged = |
+ extensions::api::input_method_private::OnImeMenuActivationChanged; |
namespace { |
@@ -59,6 +65,11 @@ InputMethodPrivateGetInputMethodConfigFunction::Run() { |
"isPhysicalKeyboardAutocorrectEnabled", |
!base::CommandLine::ForCurrentProcess()->HasSwitch( |
chromeos::switches::kDisablePhysicalKeyboardAutocorrect)); |
+ output->SetBoolean("isImeMenuActivated", |
+ chromeos::switches::IsImeMenuEnabled() && |
+ Profile::FromBrowserContext(browser_context()) |
michaelpg
2016/01/20 21:06:28
nit: align w/ previous line
Azure Wei
2016/01/21 10:25:07
Done.
|
+ ->GetPrefs() |
+ ->GetBoolean(prefs::kLangugaeImeMenuActivated)); |
return RespondNow(OneArgument(output)); |
#endif |
} |
@@ -245,6 +256,10 @@ void InputMethodAPI::OnListenerAdded( |
if (details.event_name == OnDictionaryLoaded::kEventName) { |
dictionary_event_router_->DispatchLoadedEventIfLoaded(); |
} |
+ } else if (details.event_name == OnImeMenuActivationChanged::kEventName && |
+ !ime_menu_event_router_.get()) { |
+ ime_menu_event_router_.reset( |
+ new chromeos::ExtensionImeMenuEventRouter(context_)); |
} |
} |