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.
5 #ifndef UI_VIEWS_IME_NULL_INPUT_METHOD_H_
6 #define UI_VIEWS_IME_NULL_INPUT_METHOD_H_
8 #include "base/compiler_specific.h"
9 #include "base/macros.h"
10 #include "ui/views/ime/input_method.h"
14 // An implementation of views::InputMethod which does nothing.
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
{
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
;
45 DISALLOW_COPY_AND_ASSIGN(NullInputMethod
);
50 #endif // UI_VIEWS_IME_NULL_INPUT_METHOD_H_