#include "content/browser/media/active_media_session_controller.h"
#include <utility>
#include <vector>
#include "base/containers/contains.h"
#include "base/metrics/histogram_macros.h"
#include "base/unguessable_token.h"
#include "content/browser/browser_main_loop.h"
#include "content/browser/media/media_keys_listener_manager_impl.h"
#include "content/public/browser/media_keys_listener_manager.h"
#include "content/public/browser/media_session_service.h"
#include "services/media_session/public/mojom/media_session.mojom.h"
#include "ui/base/accelerators/accelerator.h"
#include "ui/base/accelerators/media_keys_util.h"
namespace content {
MediaSessionAction;
ActiveMediaSessionController::ActiveMediaSessionController(
base::UnguessableToken request_id)
: … { … }
ActiveMediaSessionController::~ActiveMediaSessionController() = default;
void ActiveMediaSessionController::RebindMojoForNewID(
base::UnguessableToken request_id) { … }
void ActiveMediaSessionController::MediaSessionInfoChanged(
media_session::mojom::MediaSessionInfoPtr session_info) { … }
void ActiveMediaSessionController::MediaSessionActionsChanged(
const std::vector<MediaSessionAction>& actions) { … }
void ActiveMediaSessionController::MediaSessionPositionChanged(
const std::optional<media_session::MediaPosition>& position) { … }
void ActiveMediaSessionController::FlushForTesting() { … }
void ActiveMediaSessionController::OnMediaKeysAccelerator(
const ui::Accelerator& accelerator) { … }
void ActiveMediaSessionController::OnNext() { … }
void ActiveMediaSessionController::OnPrevious() { … }
void ActiveMediaSessionController::OnPlay() { … }
void ActiveMediaSessionController::OnPause() { … }
void ActiveMediaSessionController::OnPlayPause() { … }
void ActiveMediaSessionController::OnStop() { … }
void ActiveMediaSessionController::OnSeek(const base::TimeDelta& time) { … }
void ActiveMediaSessionController::OnSeekTo(const base::TimeDelta& time) { … }
void ActiveMediaSessionController::MaybePerformAction(
MediaSessionAction action) { … }
bool ActiveMediaSessionController::SupportsAction(
MediaSessionAction action) const { … }
void ActiveMediaSessionController::PerformAction(MediaSessionAction action) { … }
MediaSessionAction ActiveMediaSessionController::KeyCodeToMediaSessionAction(
ui::KeyboardCode key_code) const { … }
std::optional<ui::KeyboardCode>
ActiveMediaSessionController::MediaSessionActionToKeyCode(
MediaSessionAction action) const { … }
}