mirror of
https://github.com/servo/servo.git
synced 2025-06-06 16:45:39 +00:00
66 lines
2.3 KiB
Text
66 lines
2.3 KiB
Text
/* This Source Code Form is subject to the terms of the Mozilla Public
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
* file, You can obtain one at https://mozilla.org/MPL/2.0/. */
|
|
|
|
// https://html.spec.whatwg.org/multipage/#htmlmediaelement
|
|
|
|
enum CanPlayTypeResult { "" /* empty string */, "maybe", "probably" };
|
|
typedef /* (MediaStream or MediaSource or */ Blob /* ) */ MediaProvider;
|
|
|
|
[Abstract]
|
|
interface HTMLMediaElement : HTMLElement {
|
|
// error state
|
|
readonly attribute MediaError? error;
|
|
|
|
// network state
|
|
[CEReactions] attribute DOMString src;
|
|
attribute MediaProvider? srcObject;
|
|
readonly attribute DOMString currentSrc;
|
|
// [CEReactions] attribute DOMString crossOrigin;
|
|
const unsigned short NETWORK_EMPTY = 0;
|
|
const unsigned short NETWORK_IDLE = 1;
|
|
const unsigned short NETWORK_LOADING = 2;
|
|
const unsigned short NETWORK_NO_SOURCE = 3;
|
|
readonly attribute unsigned short networkState;
|
|
[CEReactions] attribute DOMString preload;
|
|
// readonly attribute TimeRanges buffered;
|
|
void load();
|
|
CanPlayTypeResult canPlayType(DOMString type);
|
|
|
|
// ready state
|
|
const unsigned short HAVE_NOTHING = 0;
|
|
const unsigned short HAVE_METADATA = 1;
|
|
const unsigned short HAVE_CURRENT_DATA = 2;
|
|
const unsigned short HAVE_FUTURE_DATA = 3;
|
|
const unsigned short HAVE_ENOUGH_DATA = 4;
|
|
readonly attribute unsigned short readyState;
|
|
readonly attribute boolean seeking;
|
|
|
|
// playback state
|
|
attribute double currentTime;
|
|
void fastSeek(double time);
|
|
readonly attribute unrestricted double duration;
|
|
// Date getStartDate();
|
|
readonly attribute boolean paused;
|
|
// attribute double defaultPlaybackRate;
|
|
// attribute double playbackRate;
|
|
readonly attribute TimeRanges played;
|
|
// readonly attribute TimeRanges seekable;
|
|
// readonly attribute boolean ended;
|
|
[CEReactions] attribute boolean autoplay;
|
|
// [CEReactions] attribute boolean loop;
|
|
Promise<void> play();
|
|
void pause();
|
|
|
|
// controls
|
|
// [CEReactions] attribute boolean controls;
|
|
[Throws] attribute double volume;
|
|
// attribute boolean muted;
|
|
// [CEReactions] attribute boolean defaultMuted;
|
|
|
|
// tracks
|
|
// readonly attribute AudioTrackList audioTracks;
|
|
// readonly attribute VideoTrackList videoTracks;
|
|
readonly attribute TextTrackList textTracks;
|
|
TextTrack addTextTrack(TextTrackKind kind, optional DOMString label = "", optional DOMString language = "");
|
|
};
|