mirror of
				https://github.com/RGBCube/serenity
				synced 2025-10-31 11:02:43 +00:00 
			
		
		
		
	 d767f14df8
			
		
	
	
		d767f14df8
		
	
	
	
	
		
			
			This does _NOT_ correspond to anything in the IDL or ECMAScript spec, but is a custom extended attribute. We use it to define the "enumerated" values of an attribute
		
			
				
	
	
		
			74 lines
		
	
	
	
		
			2.6 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			74 lines
		
	
	
	
		
			2.6 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
| #import <HTML/AudioTrackList.idl>
 | |
| #import <HTML/HTMLElement.idl>
 | |
| #import <HTML/MediaError.idl>
 | |
| #import <HTML/TimeRanges.idl>
 | |
| #import <HTML/VideoTrackList.idl>
 | |
| #import <HTML/Scripting/Fetching.idl>
 | |
| 
 | |
| enum CanPlayTypeResult {
 | |
|     "",
 | |
|     "maybe",
 | |
|     "probably"
 | |
| };
 | |
| 
 | |
| // https://html.spec.whatwg.org/multipage/media.html#htmlmediaelement
 | |
| [Exposed=Window]
 | |
| interface HTMLMediaElement : HTMLElement {
 | |
| 
 | |
|     // error state
 | |
|     readonly attribute MediaError? error;
 | |
| 
 | |
|     // network state
 | |
|     [Reflect, CEReactions] attribute DOMString src;
 | |
|     // FIXME: attribute MediaProvider? srcObject;
 | |
|     readonly attribute USVString currentSrc;
 | |
|     [Reflect=crossorigin, CEReactions, Enumerated=CORSSettingsAttribute] 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;
 | |
|     // FIXME: [CEReactions] attribute DOMString preload;
 | |
|     readonly attribute TimeRanges buffered;
 | |
|     undefined 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;
 | |
|     undefined fastSeek(double time);
 | |
|     readonly attribute unrestricted double duration;
 | |
|     // FIXME: object getStartDate();
 | |
|     readonly attribute boolean paused;
 | |
|     // FIXME: attribute double defaultPlaybackRate;
 | |
|     // FIXME: attribute double playbackRate;
 | |
|     // FIXME: attribute boolean preservesPitch;
 | |
|     // FIXME: readonly attribute TimeRanges played;
 | |
|     // FIXME: readonly attribute TimeRanges seekable;
 | |
|     readonly attribute boolean ended;
 | |
|     [Reflect, CEReactions] attribute boolean autoplay;
 | |
|     [Reflect, CEReactions] attribute boolean loop;
 | |
|     Promise<undefined> play();
 | |
|     undefined pause();
 | |
| 
 | |
|     // controls
 | |
|     [Reflect, CEReactions] attribute boolean controls;
 | |
|     attribute double volume;
 | |
|     attribute boolean muted;
 | |
|     [Reflect=muted, CEReactions] attribute boolean defaultMuted;
 | |
| 
 | |
|     // tracks
 | |
|     [SameObject] readonly attribute AudioTrackList audioTracks;
 | |
|     [SameObject] readonly attribute VideoTrackList videoTracks;
 | |
|     // FIXME: [SameObject] readonly attribute TextTrackList textTracks;
 | |
|     // FIXME: TextTrack addTextTrack(TextTrackKind kind, optional DOMString label = "", optional DOMString language = "");
 | |
| 
 | |
| };
 |