// Copyright 2021 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_OZONE_PUBLIC_PLATFORM_GLOBAL_SHORTCUT_LISTENER_H_ #define UI_OZONE_PUBLIC_PLATFORM_GLOBAL_SHORTCUT_LISTENER_H_ #include "base/component_export.h" #include "base/memory/raw_ptr.h" #include "ui/events/keycodes/keyboard_codes.h" namespace ui { // The platform implementation should notify the wrapper through this // interface when the registered shortcut is activated, or when the // implementation is destroyed. class COMPONENT_EXPORT(OZONE_BASE) PlatformGlobalShortcutListenerDelegate { … }; // The interface to Ozone platform's functionality exposed to Chrome via // extensions::GlobalShortcutListenerOzone. // // Lifetimes of extensions::GlobalShortcutListenerOzone and the platform // implementation are independent, so these entities should decouple // explicitly upon destruction through OnPlatformListenerDestroyed() and // ResetDelegate(), depending on which object is destroyed first. class COMPONENT_EXPORT(OZONE_BASE) PlatformGlobalShortcutListener { … }; } // namespace ui #endif // UI_OZONE_PUBLIC_PLATFORM_GLOBAL_SHORTCUT_LISTENER_H_