#ifndef CONTENT_BROWSER_MEDIA_MEDIA_KEYS_LISTENER_MANAGER_IMPL_H_
#define CONTENT_BROWSER_MEDIA_MEDIA_KEYS_LISTENER_MANAGER_IMPL_H_
#include <memory>
#include <set>
#include <utility>
#include "base/containers/flat_map.h"
#include "base/observer_list.h"
#include "base/unguessable_token.h"
#include "build/build_config.h"
#include "components/system_media_controls/system_media_controls_observer.h"
#include "content/public/browser/media_keys_listener_manager.h"
#include "ui/base/accelerators/media_keys_listener.h"
#include "ui/events/keycodes/keyboard_codes.h"
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC)
#define USE_INSTANCED_SYSTEM_MEDIA_CONTROLS_FOR_WEB_APPS …
#endif
namespace system_media_controls {
class SystemMediaControls;
}
namespace content {
class ActiveMediaSessionController;
class SystemMediaControlsNotifier;
#if USE_INSTANCED_SYSTEM_MEDIA_CONTROLS_FOR_WEB_APPS
class WebAppSystemMediaControlsManager;
enum class WebAppSystemMediaControlsEvent;
#endif
class MediaKeysListenerManagerImplTestObserver { … };
class MediaKeysListenerManagerImpl
: public MediaKeysListenerManager,
public ui::MediaKeysListener::Delegate,
public system_media_controls::SystemMediaControlsObserver { … };
}
#endif