1010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)// Copyright 2014 The Chromium Authors. All rights reserved.
2010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be
3010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)// found in the LICENSE file.
4010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)
5010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)#ifndef UI_VIEWS_IME_NULL_INPUT_METHOD_H_
6010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)#define UI_VIEWS_IME_NULL_INPUT_METHOD_H_
7010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)
8010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)#include "base/compiler_specific.h"
9010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)#include "base/macros.h"
10010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)#include "ui/views/ime/input_method.h"
11010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)
12010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)namespace views {
13010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)
14010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)// An implementation of views::InputMethod which does nothing.
15010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)//
16010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)// We're working on removing views::InputMethod{,Base,Bridge} and going to use
17010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)// only ui::InputMethod.  Use this class instead of views::InputMethodBridge
18010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)// with ui::TextInputFocusManager to effectively eliminate the
19010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)// views::InputMethod layer.
20010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)class NullInputMethod : public InputMethod {
21010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) public:
22010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)  NullInputMethod();
23010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)
24010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)  // Overridden from InputMethod:
25010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)  virtual void SetDelegate(internal::InputMethodDelegate* delegate) OVERRIDE;
26010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)  virtual void Init(Widget* widget) OVERRIDE;
27010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)  virtual void OnFocus() OVERRIDE;
28010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)  virtual void OnBlur() OVERRIDE;
29010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)  virtual bool OnUntranslatedIMEMessage(const base::NativeEvent& event,
30010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)                                        NativeEventResult* result) OVERRIDE;
31010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)  virtual void DispatchKeyEvent(const ui::KeyEvent& key) OVERRIDE;
32010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)  virtual void OnTextInputTypeChanged(View* view) OVERRIDE;
33010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)  virtual void OnCaretBoundsChanged(View* view) OVERRIDE;
34010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)  virtual void CancelComposition(View* view) OVERRIDE;
35010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)  virtual void OnInputLocaleChanged() OVERRIDE;
36010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)  virtual std::string GetInputLocale() OVERRIDE;
37010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)  virtual bool IsActive() OVERRIDE;
38010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)  virtual ui::TextInputClient* GetTextInputClient() const OVERRIDE;
39010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)  virtual ui::TextInputType GetTextInputType() const OVERRIDE;
40010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)  virtual bool IsCandidatePopupOpen() const OVERRIDE;
41010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)  virtual void ShowImeIfNeeded() OVERRIDE;
42010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)  virtual bool IsMock() const OVERRIDE;
43010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)
44010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) private:
45010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)  DISALLOW_COPY_AND_ASSIGN(NullInputMethod);
46010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)};
47010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)
48010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)}  // namespace views
49010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)
50010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)#endif  // UI_VIEWS_IME_NULL_INPUT_METHOD_H_
51