summaryrefslogtreecommitdiffstats
path: root/ui
diff options
context:
space:
mode:
Diffstat (limited to 'ui')
-rw-r--r--ui/base/ime/input_method_base_unittest.cc13
-rw-r--r--ui/base/ime/input_method_observer.h25
-rw-r--r--ui/base/ime/mock_input_method.cc28
-rw-r--r--ui/base/ime/mock_input_method.h15
-rw-r--r--ui/keyboard/keyboard_controller.h10
5 files changed, 68 insertions, 23 deletions
diff --git a/ui/base/ime/input_method_base_unittest.cc b/ui/base/ime/input_method_base_unittest.cc
index cc7304c..3d06a1a 100644
--- a/ui/base/ime/input_method_base_unittest.cc
+++ b/ui/base/ime/input_method_base_unittest.cc
@@ -176,6 +176,19 @@ class MockInputMethodObserver : public InputMethodObserver {
}
private:
+ virtual void OnTextInputTypeChanged(const TextInputClient* client) OVERRIDE {
+ }
+ virtual void OnFocus() OVERRIDE {
+ }
+ virtual void OnBlur() OVERRIDE {
+ }
+ virtual void OnUntranslatedIMEMessage(
+ const base::NativeEvent& event) OVERRIDE {
+ }
+ virtual void OnCaretBoundsChanged(const TextInputClient* client) OVERRIDE {
+ }
+ virtual void OnInputLocaleChanged() OVERRIDE {
+ }
virtual void OnTextInputStateChanged(const TextInputClient* client) OVERRIDE {
verifier_->OnTextInputStateChanged(client);
}
diff --git a/ui/base/ime/input_method_observer.h b/ui/base/ime/input_method_observer.h
index 195da9c..fc517cc 100644
--- a/ui/base/ime/input_method_observer.h
+++ b/ui/base/ime/input_method_observer.h
@@ -16,6 +16,31 @@ class UI_EXPORT InputMethodObserver {
public:
virtual ~InputMethodObserver() {}
+ // Called whenever the text input type is changed for the focused client.
+ // Currently only used by the mock input method for testing.
+ virtual void OnTextInputTypeChanged(const TextInputClient* client) = 0;
+
+ // Called when the top-level system window gets keyboard focus. Currently
+ // only used by the mock input method for testing.
+ virtual void OnFocus() = 0;
+
+ // Called when the top-level system window loses keyboard focus. Currently
+ // only used by the mock input method for testing.
+ virtual void OnBlur() = 0;
+
+ // Called when the focused window receives native IME messages that are not
+ // translated into other predefined event callbacks. Currently this method is
+ // used only for IME testing on Windows.
+ virtual void OnUntranslatedIMEMessage(const base::NativeEvent& event) = 0;
+
+ // Called whenever the caret bounds is changed for the input client.
+ // Currently only used by the mock input method for testing.
+ virtual void OnCaretBoundsChanged(const TextInputClient* client) = 0;
+
+ // Called whenever the input locale is changed for the focused client.
+ // This method is currently used only on Windows and only for testing.
+ virtual void OnInputLocaleChanged() = 0;
+
// Called when either:
// - the TextInputClient is changed (e.g. by a change of focus)
// - the TextInputType of the TextInputClient changes
diff --git a/ui/base/ime/mock_input_method.cc b/ui/base/ime/mock_input_method.cc
index b6323ef..c5fa4e2 100644
--- a/ui/base/ime/mock_input_method.cc
+++ b/ui/base/ime/mock_input_method.cc
@@ -59,35 +59,45 @@ void MockInputMethod::Init(bool focused) {
}
void MockInputMethod::OnFocus() {
- FOR_EACH_OBSERVER(Observer, observer_list_, OnFocus());
+ FOR_EACH_OBSERVER(InputMethodObserver, observer_list_, OnFocus());
}
void MockInputMethod::OnBlur() {
- FOR_EACH_OBSERVER(Observer, observer_list_, OnBlur());
+ FOR_EACH_OBSERVER(InputMethodObserver, observer_list_, OnBlur());
}
bool MockInputMethod::OnUntranslatedIMEMessage(const base::NativeEvent& event,
NativeEventResult* result) {
- FOR_EACH_OBSERVER(Observer, observer_list_, OnUntranslatedIMEMessage(event));
+ FOR_EACH_OBSERVER(InputMethodObserver,
+ observer_list_,
+ OnUntranslatedIMEMessage(event));
if (result)
*result = NativeEventResult();
return false;
}
void MockInputMethod::OnTextInputTypeChanged(const TextInputClient* client) {
- FOR_EACH_OBSERVER(Observer, observer_list_, OnTextInputTypeChanged(client));
- FOR_EACH_OBSERVER(Observer, observer_list_, OnTextInputStateChanged(client));
+ FOR_EACH_OBSERVER(InputMethodObserver,
+ observer_list_,
+ OnTextInputTypeChanged(client));
+ FOR_EACH_OBSERVER(InputMethodObserver,
+ observer_list_,
+ OnTextInputStateChanged(client));
}
void MockInputMethod::OnCaretBoundsChanged(const TextInputClient* client) {
- FOR_EACH_OBSERVER(Observer, observer_list_, OnCaretBoundsChanged(client));
+ FOR_EACH_OBSERVER(InputMethodObserver,
+ observer_list_,
+ OnCaretBoundsChanged(client));
}
void MockInputMethod::CancelComposition(const TextInputClient* client) {
}
void MockInputMethod::OnInputLocaleChanged() {
- FOR_EACH_OBSERVER(Observer, observer_list_, OnInputLocaleChanged());
+ FOR_EACH_OBSERVER(InputMethodObserver,
+ observer_list_,
+ OnInputLocaleChanged());
}
std::string MockInputMethod::GetInputLocale() {
@@ -119,11 +129,11 @@ bool MockInputMethod::IsCandidatePopupOpen() const {
}
void MockInputMethod::AddObserver(InputMethodObserver* observer) {
- observer_list_.AddObserver(static_cast<Observer*>(observer));
+ observer_list_.AddObserver(observer);
}
void MockInputMethod::RemoveObserver(InputMethodObserver* observer) {
- observer_list_.RemoveObserver(static_cast<Observer*>(observer));
+ observer_list_.RemoveObserver(observer);
}
} // namespace ui
diff --git a/ui/base/ime/mock_input_method.h b/ui/base/ime/mock_input_method.h
index 8e14988..d1e2e8d 100644
--- a/ui/base/ime/mock_input_method.h
+++ b/ui/base/ime/mock_input_method.h
@@ -25,19 +25,6 @@ class TextInputClient;
// ui/base/ime/input_method_factory.h
class UI_EXPORT MockInputMethod : NON_EXPORTED_BASE(public InputMethod) {
public:
- class Observer : public InputMethodObserver {
- public:
- virtual void OnTextInputTypeChanged(const TextInputClient* client) = 0;
- virtual void OnFocus() = 0;
- virtual void OnBlur() = 0;
- virtual void OnUntranslatedIMEMessage(const base::NativeEvent& event) = 0;
- virtual void OnCaretBoundsChanged(const TextInputClient* client) = 0;
- virtual void OnInputLocaleChanged() = 0;
-
- // InputMethodObserver overrides
- virtual void OnTextInputStateChanged(const TextInputClient* client) = 0;
- virtual void OnInputMethodDestroyed(const InputMethod* input_method) = 0;
- };
explicit MockInputMethod(internal::InputMethodDelegate* delegate);
virtual ~MockInputMethod();
@@ -72,7 +59,7 @@ class UI_EXPORT MockInputMethod : NON_EXPORTED_BASE(public InputMethod) {
private:
TextInputClient* text_input_client_;
bool is_sticky_text_input_client_;
- ObserverList<Observer> observer_list_;
+ ObserverList<InputMethodObserver> observer_list_;
DISALLOW_COPY_AND_ASSIGN(MockInputMethod);
};
diff --git a/ui/keyboard/keyboard_controller.h b/ui/keyboard/keyboard_controller.h
index 31f48d3..e9e5890 100644
--- a/ui/keyboard/keyboard_controller.h
+++ b/ui/keyboard/keyboard_controller.h
@@ -6,6 +6,7 @@
#define UI_KEYBOARD_KEYBOARD_CONTROLLER_H_
#include "base/basictypes.h"
+#include "base/event_types.h"
#include "base/memory/scoped_ptr.h"
#include "base/observer_list.h"
#include "ui/aura/window_observer.h"
@@ -61,6 +62,15 @@ class KEYBOARD_EXPORT KeyboardController : public ui::InputMethodObserver,
virtual void OnWindowDestroying(aura::Window* window) OVERRIDE;
// InputMethodObserver overrides
+ virtual void OnTextInputTypeChanged(
+ const ui::TextInputClient* client) OVERRIDE {}
+ virtual void OnFocus() OVERRIDE {}
+ virtual void OnBlur() OVERRIDE {}
+ virtual void OnUntranslatedIMEMessage(
+ const base::NativeEvent& event) OVERRIDE {}
+ virtual void OnCaretBoundsChanged(
+ const ui::TextInputClient* client) OVERRIDE {}
+ virtual void OnInputLocaleChanged() OVERRIDE {}
virtual void OnTextInputStateChanged(
const ui::TextInputClient* client) OVERRIDE;
virtual void OnInputMethodDestroyed(