Index: chrome/browser/chromeos/input_method/candidate_window_controller_impl.cc |
diff --git a/chrome/browser/chromeos/input_method/candidate_window_controller_impl.cc b/chrome/browser/chromeos/input_method/candidate_window_controller_impl.cc |
index f133daee5a3e38be9751353d884e055ca1839b39..2c15090db3d7ad624a3be1e190a37221ff8a3683 100644 |
--- a/chrome/browser/chromeos/input_method/candidate_window_controller_impl.cc |
+++ b/chrome/browser/chromeos/input_method/candidate_window_controller_impl.cc |
@@ -13,6 +13,7 @@ |
#include "chrome/browser/chromeos/input_method/candidate_window_view.h" |
#include "chrome/browser/chromeos/input_method/delayable_widget.h" |
#include "chrome/browser/chromeos/input_method/infolist_window_view.h" |
+#include "chromeos/dbus/dbus_thread_manager.h" |
#include "ui/views/widget/widget.h" |
#if defined(USE_ASH) |
@@ -38,7 +39,6 @@ bool CandidateWindowControllerImpl::Init() { |
// The observer should be added before Connect() so we can capture the |
// initial connection change. |
ibus_ui_controller_->AddObserver(this); |
- ibus_ui_controller_->Connect(); |
return true; |
} |
@@ -88,7 +88,7 @@ void CandidateWindowControllerImpl::CreateView() { |
} |
CandidateWindowControllerImpl::CandidateWindowControllerImpl() |
- : ibus_ui_controller_(IBusUiController::Create()), |
+ : ibus_ui_controller_(new IBusUiController), |
candidate_window_(NULL), |
infolist_window_(NULL), |
latest_infolist_focused_index_(InfolistWindowView::InvalidFocusIndex()) { |
@@ -303,11 +303,19 @@ void CandidateWindowControllerImpl::RemoveObserver( |
observers_.RemoveObserver(observer); |
} |
-void CandidateWindowControllerImpl::OnConnectionChange(bool connected) { |
- if (!connected) { |
- candidate_window_->HideAll(); |
- infolist_window_->Hide(); |
- } |
+void CandidateWindowControllerImpl::PropertyChanged() { |
+} |
+ |
+void CandidateWindowControllerImpl::OnConnected() { |
+ DBusThreadManager::Get()->GetIBusPanelService()->SetUpCandidateWindowHandler( |
+ ibus_ui_controller_.get()); |
+} |
+ |
+void CandidateWindowControllerImpl::OnDisconnected() { |
+ candidate_window_->HideAll(); |
+ infolist_window_->Hide(); |
+ DBusThreadManager::Get()->GetIBusPanelService()->SetUpCandidateWindowHandler( |
+ NULL); |
} |
// static |