| // Copyright 2017 The Chromium Authors |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #ifndef COMPONENTS_EXO_KEYBOARD_OBSERVER_H_ |
| #define COMPONENTS_EXO_KEYBOARD_OBSERVER_H_ |
| |
| namespace exo { |
| class Keyboard; |
| |
| // Observers to the Keyboard are notified when the Keyboard destructs. |
| class KeyboardObserver { |
| public: |
| virtual ~KeyboardObserver() = default; |
| |
| // Called at the top of the keyboard's destructor, to give observers a change |
| // to remove themselves. |
| virtual void OnKeyboardDestroying(Keyboard* keyboard) {} |
| |
| // Called just before KeyboardDelegate::OnKeyboardKey(). |
| // KeyboardDelegate::OnKeyboardKey() may not be called, specifically if IME |
| // consumed the key event, but this is always. |
| virtual void OnKeyboardKey(base::TimeTicks time_stamp, |
| ui::DomCode code, |
| bool pressed) {} |
| }; |
| |
| } // namespace exo |
| |
| #endif // COMPONENTS_EXO_KEYBOARD_OBSERVER_H_ |