summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--chrome/browser/chromeos/input_method/candidate_window_controller.h1
-rw-r--r--chrome/browser/chromeos/input_method/candidate_window_controller_impl.cc5
-rw-r--r--chrome/browser/chromeos/input_method/input_method_manager_impl.cc6
-rw-r--r--chrome/browser/chromeos/input_method/input_method_manager_impl.h1
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;