blob: 7ea5d61fe1e06ae20da7af0cebd02a546a123357 [file] [log] [blame]
// Copyright 2013 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef UI_BASE_IME_INPUT_METHOD_OBSERVER_H_
#define UI_BASE_IME_INPUT_METHOD_OBSERVER_H_
#include "base/component_export.h"
namespace ui {
class InputMethod;
class TextInputClient;
class COMPONENT_EXPORT(UI_BASE_IME) InputMethodObserver {
public:
virtual ~InputMethodObserver() {}
// Called when the top-level system window gets keyboard focus. Currently
// only used by the mock input method for testing.
virtual void OnFocus() = 0;
// Called when the top-level system window loses keyboard focus. Currently
// only used by the mock input method for testing.
virtual void OnBlur() = 0;
// Called whenever the caret bounds is changed for the input client.
virtual void OnCaretBoundsChanged(const TextInputClient* client) = 0;
// Called when either:
// - the TextInputClient is changed (e.g. by a change of focus)
// - the TextInputType of the TextInputClient changes
virtual void OnTextInputStateChanged(const TextInputClient* client) = 0;
// Called when the observed InputMethod is being destroyed.
virtual void OnInputMethodDestroyed(const InputMethod* input_method) = 0;
// Called when an API call is used to explicitly show / hide the virtual
// keyboard.
virtual void OnVirtualKeyboardVisibilityChangedIfEnabled(bool should_show) {}
};
} // namespace ui
#endif // UI_BASE_IME_INPUT_METHOD_OBSERVER_H_