• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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_base_export.h"
9 
10 namespace ui {
11 
12 class InputMethod;
13 class TextInputClient;
14 
15 class UI_BASE_EXPORT InputMethodObserver {
16  public:
~InputMethodObserver()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   // Called when a user gesture should trigger showing the virtual keyboard
44   // or alternate input view (e.g. handwriting palette). Used in ChromeOS.
45   virtual void OnShowImeIfNeeded() = 0;
46 };
47 
48 }  // namespace ui
49 
50 #endif  // UI_BASE_IME_INPUT_METHOD_OBSERVER_H_
51