blob: 3f9e8bafb9ad93965612bf884cf41d39371fdd67 [file] [log] [blame]
// Copyright 2015 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
// https://w3c.github.io/mediasession/#enumdef-mediasessionplaybackstate
enum MediaSessionPlaybackState {
"none",
"paused",
"playing"
};
// https://w3c.github.io/mediasession/#the-mediasession-interface
enum MediaSessionAction {
"play",
"pause",
"previoustrack",
"nexttrack",
"seekbackward",
"seekforward",
"skipad",
"stop",
"seekto"
};
callback MediaSessionActionHandler = void (MediaSessionActionDetails details);
[
Exposed=Window,
RuntimeEnabled=MediaSession
] interface MediaSession {
[Measure] attribute MediaMetadata? metadata;
[Measure] attribute MediaSessionPlaybackState playbackState;
[Measure, RaisesException] void setActionHandler(MediaSessionAction action,
MediaSessionActionHandler? handler);
[Measure, RaisesException, RuntimeEnabled=MediaSessionPosition]
void setPositionState(optional MediaPositionState state = {});
};