diff options
Diffstat (limited to 'ui')
-rw-r--r-- | ui/base/ime/input_method_base_unittest.cc | 13 | ||||
-rw-r--r-- | ui/base/ime/input_method_observer.h | 25 | ||||
-rw-r--r-- | ui/base/ime/mock_input_method.cc | 28 | ||||
-rw-r--r-- | ui/base/ime/mock_input_method.h | 15 | ||||
-rw-r--r-- | ui/keyboard/keyboard_controller.h | 10 |
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( |