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