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

Unified Diff: chrome/browser/chromeos/input_method/input_method_manager_impl.cc

Issue 67313006: Delete IBusClient. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 7 years, 1 month 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/input_method/input_method_manager_impl.cc
diff --git a/chrome/browser/chromeos/input_method/input_method_manager_impl.cc b/chrome/browser/chromeos/input_method/input_method_manager_impl.cc
index 2f081768874254b9c9471037ae541c14bfbe1676..1d6555703b4c10e843cc9e0d9c74edc0c6310b81 100644
--- a/chrome/browser/chromeos/input_method/input_method_manager_impl.cc
+++ b/chrome/browser/chromeos/input_method/input_method_manager_impl.cc
@@ -19,7 +19,6 @@
#include "chrome/browser/chromeos/input_method/input_method_engine_ibus.h"
#include "chrome/browser/chromeos/language_preferences.h"
#include "chromeos/dbus/dbus_thread_manager.h"
-#include "chromeos/dbus/ibus/ibus_client.h"
#include "chromeos/ime/component_extension_ime_manager.h"
#include "chromeos/ime/extension_ime_util.h"
#include "chromeos/ime/input_method_delegate.h"
@@ -296,13 +295,11 @@ bool InputMethodManagerImpl::ChangeInputMethodInternal(
}
}
- if (!component_extension_ime_manager_->IsInitialized() ||
- (!InputMethodUtil::IsKeyboardLayout(input_method_id_to_switch) &&
- !IsIBusConnectionAlive())) {
- // We can't change input method before the initialization of component
- // extension ime manager or before connection to ibus-daemon is not
- // established. ChangeInputMethod will be called with
- // |pending_input_method_| when the both initialization is done.
+ if (!component_extension_ime_manager_->IsInitialized()) {
+ // We can't change input method before the initialization of
+ // component extension ime manager. ChangeInputMethod will be
+ // called with |pending_input_method_| when the initialization is
+ // done.
pending_input_method_ = input_method_id_to_switch;
return false;
}
@@ -310,7 +307,6 @@ bool InputMethodManagerImpl::ChangeInputMethodInternal(
pending_input_method_.clear();
IBusEngineHandlerInterface* engine = IBusBridge::Get()->GetEngineHandler();
const std::string current_input_method_id = current_input_method_.id();
- IBusClient* client = DBusThreadManager::Get()->GetIBusClient();
if (InputMethodUtil::IsKeyboardLayout(input_method_id_to_switch)) {
FOR_EACH_OBSERVER(InputMethodManager::Observer,
observers_,
@@ -320,9 +316,17 @@ bool InputMethodManagerImpl::ChangeInputMethodInternal(
IBusBridge::Get()->SetEngineHandler(NULL);
}
} else {
- DCHECK(client);
- client->SetGlobalEngine(input_method_id_to_switch,
- base::Bind(&base::DoNothing));
+ // Disable the current engine and enable the next engine.
+ IBusEngineHandlerInterface* previous_engine =
Seigo Nonaka 2013/11/12 03:21:45 Can we reuse |engine| for this? Or please move L30
Hiro Komatsu 2013/11/12 04:34:24 Done.
+ IBusBridge::Get()->GetEngineHandler();
+ if (previous_engine)
+ previous_engine->Disable();
+ IBusBridge::Get()->CreateEngine(input_method_id_to_switch);
Seigo Nonaka 2013/11/12 03:21:45 FYI: CreateEngine is no longer necessary because E
Hiro Komatsu 2013/11/12 04:34:24 ACK. I will try to remove CreateEngine in the fol
+ IBusEngineHandlerInterface* next_engine =
+ IBusBridge::Get()->GetEngineHandler();
+ IBusBridge::Get()->SetEngineHandler(next_engine);
+ if (next_engine)
+ next_engine->Enable();
}
if (current_input_method_id != input_method_id_to_switch) {
@@ -865,9 +869,5 @@ void InputMethodManagerImpl::MaybeInitializeCandidateWindowController() {
DVLOG(1) << "Failed to initialize the candidate window controller";
}
-bool InputMethodManagerImpl::IsIBusConnectionAlive() {
- return DBusThreadManager::Get() && DBusThreadManager::Get()->GetIBusClient();
-}
-
} // namespace input_method
} // namespace chromeos

Powered by Google App Engine
This is Rietveld 408576698