diff options
4 files changed, 10 insertions, 3 deletions
diff --git a/chrome/browser/chromeos/input_method/candidate_window_controller.h b/chrome/browser/chromeos/input_method/candidate_window_controller.h index 055608d..ab35640 100644 --- a/chrome/browser/chromeos/input_method/candidate_window_controller.h +++ b/chrome/browser/chromeos/input_method/candidate_window_controller.h @@ -24,6 +24,7 @@ class CandidateWindowController { public: virtual ~Observer() {} + virtual void CandidateClicked(int index) = 0; virtual void CandidateWindowOpened() = 0; virtual void CandidateWindowClosed() = 0; }; 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 6bff1e1..c26134e 100644 --- a/chrome/browser/chromeos/input_method/candidate_window_controller_impl.cc +++ b/chrome/browser/chromeos/input_method/candidate_window_controller_impl.cc @@ -272,9 +272,8 @@ void CandidateWindowControllerImpl::UpdatePreeditText( } void CandidateWindowControllerImpl::OnCandidateCommitted(int index) { - IBusEngineHandlerInterface* engine = IBusBridge::Get()->GetEngineHandler(); - if (engine) - engine->CandidateClicked(index); + FOR_EACH_OBSERVER(CandidateWindowController::Observer, observers_, + CandidateClicked(index)); } void CandidateWindowControllerImpl::OnCandidateWindowOpened() { 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 72af64e..a532e7d 100644 --- a/chrome/browser/chromeos/input_method/input_method_manager_impl.cc +++ b/chrome/browser/chromeos/input_method/input_method_manager_impl.cc @@ -730,6 +730,12 @@ void InputMethodManagerImpl::PropertyChanged() { InputMethodPropertyChanged(this)); } +void InputMethodManagerImpl::CandidateClicked(int index) { + IBusEngineHandlerInterface* engine = IBusBridge::Get()->GetEngineHandler(); + if (engine) + engine->CandidateClicked(index); +} + void InputMethodManagerImpl::CandidateWindowOpened() { FOR_EACH_OBSERVER(InputMethodManager::CandidateWindowObserver, candidate_window_observers_, diff --git a/chrome/browser/chromeos/input_method/input_method_manager_impl.h b/chrome/browser/chromeos/input_method/input_method_manager_impl.h index b6cc6dc..cdf5925 100644 --- a/chrome/browser/chromeos/input_method/input_method_manager_impl.h +++ b/chrome/browser/chromeos/input_method/input_method_manager_impl.h @@ -108,6 +108,7 @@ class InputMethodManagerImpl : public InputMethodManager, void PropertyChanged(); // CandidateWindowController::Observer overrides: + virtual void CandidateClicked(int index) OVERRIDE; virtual void CandidateWindowOpened() OVERRIDE; virtual void CandidateWindowClosed() OVERRIDE; |