1 // Copyright 2014 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #ifndef UI_VIEWS_IME_NULL_INPUT_METHOD_H_ 6 #define UI_VIEWS_IME_NULL_INPUT_METHOD_H_ 7 8 #include "base/compiler_specific.h" 9 #include "base/macros.h" 10 #include "ui/views/ime/input_method.h" 11 12 namespace views { 13 14 // An implementation of views::InputMethod which does nothing. 15 // 16 // We're working on removing views::InputMethod{,Base,Bridge} and going to use 17 // only ui::InputMethod. Use this class instead of views::InputMethodBridge 18 // with ui::TextInputFocusManager to effectively eliminate the 19 // views::InputMethod layer. 20 class NullInputMethod : public InputMethod { 21 public: 22 NullInputMethod(); 23 24 // Overridden from InputMethod: 25 virtual void SetDelegate(internal::InputMethodDelegate* delegate) OVERRIDE; 26 virtual void Init(Widget* widget) OVERRIDE; 27 virtual void OnFocus() OVERRIDE; 28 virtual void OnBlur() OVERRIDE; 29 virtual bool OnUntranslatedIMEMessage(const base::NativeEvent& event, 30 NativeEventResult* result) OVERRIDE; 31 virtual void DispatchKeyEvent(const ui::KeyEvent& key) OVERRIDE; 32 virtual void OnTextInputTypeChanged(View* view) OVERRIDE; 33 virtual void OnCaretBoundsChanged(View* view) OVERRIDE; 34 virtual void CancelComposition(View* view) OVERRIDE; 35 virtual void OnInputLocaleChanged() OVERRIDE; 36 virtual std::string GetInputLocale() OVERRIDE; 37 virtual bool IsActive() OVERRIDE; 38 virtual ui::TextInputClient* GetTextInputClient() const OVERRIDE; 39 virtual ui::TextInputType GetTextInputType() const OVERRIDE; 40 virtual bool IsCandidatePopupOpen() const OVERRIDE; 41 virtual void ShowImeIfNeeded() OVERRIDE; 42 virtual bool IsMock() const OVERRIDE; 43 44 private: 45 DISALLOW_COPY_AND_ASSIGN(NullInputMethod); 46 }; 47 48 } // namespace views 49 50 #endif // UI_VIEWS_IME_NULL_INPUT_METHOD_H_ 51