| // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #ifndef UI_BASE_IME_MOCK_INPUT_METHOD_H_ |
| #define UI_BASE_IME_MOCK_INPUT_METHOD_H_ |
| |
| #include <string> |
| |
| #include "base/basictypes.h" |
| #include "base/compiler_specific.h" |
| #include "base/observer_list.h" |
| #include "ui/base/ime/input_method.h" |
| #include "ui/base/ime/input_method_observer.h" |
| #include "ui/base/ui_base_export.h" |
| |
| namespace ui { |
| |
| class KeyEvent; |
| class TextInputClient; |
| |
| // A mock ui::InputMethod implementation for testing. You can get the instance |
| // of this class as the global input method with calling |
| // SetUpInputMethodFactoryForTesting() which is declared in |
| // ui/base/ime/input_method_factory.h |
| class UI_BASE_EXPORT MockInputMethod : NON_EXPORTED_BASE(public InputMethod) { |
| public: |
| explicit MockInputMethod(internal::InputMethodDelegate* delegate); |
| ~MockInputMethod() override; |
| |
| // Overriden from InputMethod. |
| void SetDelegate(internal::InputMethodDelegate* delegate) override; |
| void Init(bool focused) override; |
| void OnFocus() override; |
| void OnBlur() override; |
| bool OnUntranslatedIMEMessage(const base::NativeEvent& event, |
| NativeEventResult* result) override; |
| void SetFocusedTextInputClient(TextInputClient* client) override; |
| void DetachTextInputClient(TextInputClient* client) override; |
| TextInputClient* GetTextInputClient() const override; |
| bool DispatchKeyEvent(const ui::KeyEvent& event) override; |
| void OnTextInputTypeChanged(const TextInputClient* client) override; |
| void OnCaretBoundsChanged(const TextInputClient* client) override; |
| void CancelComposition(const TextInputClient* client) override; |
| void OnInputLocaleChanged() override; |
| std::string GetInputLocale() override; |
| bool IsActive() override; |
| TextInputType GetTextInputType() const override; |
| TextInputMode GetTextInputMode() const override; |
| int GetTextInputFlags() const override; |
| bool CanComposeInline() const override; |
| bool IsCandidatePopupOpen() const override; |
| void ShowImeIfNeeded() override; |
| void AddObserver(InputMethodObserver* observer) override; |
| void RemoveObserver(InputMethodObserver* observer) override; |
| |
| private: |
| TextInputClient* text_input_client_; |
| ObserverList<InputMethodObserver> observer_list_; |
| |
| DISALLOW_COPY_AND_ASSIGN(MockInputMethod); |
| }; |
| |
| } // namespace ui |
| |
| #endif // UI_BASE_IME_MOCK_INPUT_METHOD_H_ |