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 12namespace 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. 20class 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