// GENERATED CONTENT - DO NOT EDIT // Content was automatically extracted by Reffy into reffy-reports // (https://github.com/tidoust/reffy-reports) // Source: Media Session Standard (https://w3c.github.io/mediasession/) [Exposed=Window] partial interface Navigator { [SameObject] readonly attribute MediaSession mediaSession; }; enum MediaSessionPlaybackState { "none", "paused", "playing" }; enum MediaSessionAction { "play", "pause", "seekbackward", "seekforward", "previoustrack", "nexttrack", "skipad", "stop", "seekto" }; callback MediaSessionActionHandler = void(MediaSessionActionDetails details); [Exposed=Window] interface MediaSession { attribute MediaMetadata? metadata; attribute MediaSessionPlaybackState playbackState; void setActionHandler(MediaSessionAction action, MediaSessionActionHandler? handler); void setPositionState(optional MediaPositionState state = {}); }; [Exposed=Window] interface MediaMetadata { constructor(optional MediaMetadataInit init = {}); attribute DOMString title; attribute DOMString artist; attribute DOMString album; attribute FrozenArray artwork; }; dictionary MediaMetadataInit { DOMString title = ""; DOMString artist = ""; DOMString album = ""; sequence artwork = []; }; dictionary MediaImage { required USVString src; DOMString sizes = ""; DOMString type = ""; }; dictionary MediaPositionState { double duration; double playbackRate; double position; }; dictionary MediaSessionActionDetails { required MediaSessionAction action; double? seekOffset; double? seekTime; boolean? fastSeek; };