1 // Copyright (c) 2013 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_BASE_IME_INPUT_METHOD_OBSERVER_H_ 6 #define UI_BASE_IME_INPUT_METHOD_OBSERVER_H_ 7 8 #include "ui/base/ui_export.h" 9 10 namespace ui { 11 12 class InputMethod; 13 class TextInputClient; 14 15 class UI_EXPORT InputMethodObserver { 16 public: 17 virtual ~InputMethodObserver() {} 18 19 // Called whenever the text input type is changed for the focused client. 20 // Currently only used by the mock input method for testing. 21 virtual void OnTextInputTypeChanged(const TextInputClient* client) = 0; 22 23 // Called when the top-level system window gets keyboard focus. Currently 24 // only used by the mock input method for testing. 25 virtual void OnFocus() = 0; 26 27 // Called when the top-level system window loses keyboard focus. Currently 28 // only used by the mock input method for testing. 29 virtual void OnBlur() = 0; 30 31 // Called whenever the caret bounds is changed for the input client. 32 // Currently only used by the mock input method for testing. 33 virtual void OnCaretBoundsChanged(const TextInputClient* client) = 0; 34 35 // Called when either: 36 // - the TextInputClient is changed (e.g. by a change of focus) 37 // - the TextInputType of the TextInputClient changes 38 virtual void OnTextInputStateChanged(const TextInputClient* client) = 0; 39 40 // Called when the observed InputMethod is being destroyed. 41 virtual void OnInputMethodDestroyed(const InputMethod* input_method) = 0; 42 }; 43 44 } // namespace ui 45 46 #endif // UI_BASE_IME_INPUT_METHOD_OBSERVER_H_ 47