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