summaryrefslogtreecommitdiffstats
path: root/chrome/browser/chromeos/input_method/input_method_engine.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/browser/chromeos/input_method/input_method_engine.cc')
-rw-r--r--chrome/browser/chromeos/input_method/input_method_engine.cc30
1 files changed, 22 insertions, 8 deletions
diff --git a/chrome/browser/chromeos/input_method/input_method_engine.cc b/chrome/browser/chromeos/input_method/input_method_engine.cc
index 6fd312d..525d424 100644
--- a/chrome/browser/chromeos/input_method/input_method_engine.cc
+++ b/chrome/browser/chromeos/input_method/input_method_engine.cc
@@ -65,7 +65,7 @@ InputMethodEngine::InputMethodEngine()
window_visible_(false) {}
InputMethodEngine::~InputMethodEngine() {
- input_method::InputMethodManager::Get()->RemoveInputMethodExtension(ibus_id_);
+ input_method::InputMethodManager::Get()->RemoveInputMethodExtension(imm_id_);
}
void InputMethodEngine::Initialize(
@@ -79,31 +79,45 @@ void InputMethodEngine::Initialize(
const GURL& input_view) {
DCHECK(observer) << "Observer must not be null.";
+ // TODO(komatsu): It is probably better to set observer out of Initialize.
observer_ = observer;
engine_id_ = engine_id;
input_method::InputMethodManager* manager =
input_method::InputMethodManager::Get();
- ComponentExtensionIMEManager* comp_ext_ime_manager
- = manager->GetComponentExtensionIMEManager();
+ ComponentExtensionIMEManager* comp_ext_ime_manager =
+ manager->GetComponentExtensionIMEManager();
if (comp_ext_ime_manager->IsInitialized() &&
comp_ext_ime_manager->IsWhitelistedExtension(extension_id)) {
- ibus_id_ = comp_ext_ime_manager->GetId(extension_id, engine_id);
+ imm_id_ = comp_ext_ime_manager->GetId(extension_id, engine_id);
} else {
- ibus_id_ = extension_ime_util::GetInputMethodID(extension_id, engine_id);
+ imm_id_ = extension_ime_util::GetInputMethodID(extension_id, engine_id);
}
input_view_url_ = input_view;
+ descriptor_ = input_method::InputMethodDescriptor(imm_id_,
+ engine_name,
+ layouts,
+ languages,
+ false, // is_login_keyboard
+ options_page,
+ input_view);
+
+ // TODO(komatsu): It is probably better to call AddInputMethodExtension
+ // out of Initialize.
+ manager->AddInputMethodExtension(imm_id_, this);
+}
- manager->AddInputMethodExtension(ibus_id_, engine_name, layouts, languages,
- options_page, input_view, this);
+const input_method::InputMethodDescriptor& InputMethodEngine::GetDescriptor()
+ const {
+ return descriptor_;
}
void InputMethodEngine::StartIme() {
input_method::InputMethodManager* manager =
input_method::InputMethodManager::Get();
- if (manager && ibus_id_ == manager->GetCurrentInputMethod().id())
+ if (manager && imm_id_ == manager->GetCurrentInputMethod().id())
Enable();
}