OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2007, 2010, 2011, 2012 Apple Inc. All rights reserved. | 2 * Copyright (C) 2007, 2010, 2011, 2012 Apple Inc. All rights reserved. |
3 * | 3 * |
4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
5 * modification, are permitted provided that the following conditions | 5 * modification, are permitted provided that the following conditions |
6 * are met: | 6 * are met: |
7 * 1. Redistributions of source code must retain the above copyright | 7 * 1. Redistributions of source code must retain the above copyright |
8 * notice, this list of conditions and the following disclaimer. | 8 * notice, this list of conditions and the following disclaimer. |
9 * 2. Redistributions in binary form must reproduce the above copyright | 9 * 2. Redistributions in binary form must reproduce the above copyright |
10 * notice, this list of conditions and the following disclaimer in the | 10 * notice, this list of conditions and the following disclaimer in the |
11 * documentation and/or other materials provided with the distribution. | 11 * documentation and/or other materials provided with the distribution. |
12 * | 12 * |
13 * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY | 13 * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY |
14 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE | 14 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE |
15 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR | 15 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR |
16 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE COMPUTER, INC. OR | 16 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE COMPUTER, INC. OR |
17 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, | 17 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, |
18 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, | 18 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, |
19 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR | 19 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR |
20 * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY | 20 * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY |
21 * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | 21 * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
22 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE | 22 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
23 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | 23 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
24 */ | 24 */ |
25 | 25 |
26 // https://html.spec.whatwg.org/#media-elements | 26 // https://html.spec.whatwg.org/#media-elements |
27 | 27 |
28 enum CanPlayTypeResult { "" /* empty string */, "maybe", "probably" }; | 28 enum CanPlayTypeResult { "" /* empty string */, "maybe", "probably" }; |
29 [ | 29 [ |
30 ActiveDOMObject, | 30 DependentLifetime, |
31 RuntimeEnabled=Media, | 31 RuntimeEnabled=Media, |
32 ] interface HTMLMediaElement : HTMLElement { | 32 ] interface HTMLMediaElement : HTMLElement { |
33 | 33 |
34 // error state | 34 // error state |
35 readonly attribute MediaError? error; | 35 readonly attribute MediaError? error; |
36 | 36 |
37 // network state | 37 // network state |
38 [Reflect, URL] attribute DOMString src; | 38 [Reflect, URL] attribute DOMString src; |
39 // FIXME: attribute MediaProvider? srcObject; crbug.com/387740 | 39 // FIXME: attribute MediaProvider? srcObject; crbug.com/387740 |
40 readonly attribute DOMString currentSrc; | 40 readonly attribute DOMString currentSrc; |
41 [Reflect, ReflectOnly=("anonymous","use-credentials"), ReflectEmpty="anonymo
us", ReflectInvalid="anonymous"] attribute DOMString? crossOrigin; | 41 [Reflect, ReflectOnly=("anonymous","use-credentials"), ReflectEmpty="anonymo
us", ReflectInvalid="anonymous"] attribute DOMString? crossOrigin; |
42 const unsigned short NETWORK_EMPTY = 0; | 42 const unsigned short NETWORK_EMPTY = 0; |
43 const unsigned short NETWORK_IDLE = 1; | 43 const unsigned short NETWORK_IDLE = 1; |
44 const unsigned short NETWORK_LOADING = 2; | 44 const unsigned short NETWORK_LOADING = 2; |
45 const unsigned short NETWORK_NO_SOURCE = 3; | 45 const unsigned short NETWORK_NO_SOURCE = 3; |
46 readonly attribute unsigned short networkState; | 46 readonly attribute unsigned short networkState; |
47 attribute DOMString preload; | 47 attribute DOMString preload; |
48 readonly attribute TimeRanges buffered; | 48 readonly attribute TimeRanges buffered; |
49 void load(); | 49 void load(); |
50 CanPlayTypeResult canPlayType(DOMString type); | 50 CanPlayTypeResult canPlayType(DOMString type); |
51 | 51 |
52 // ready state | 52 // ready state |
53 const unsigned short HAVE_NOTHING = 0; | 53 const unsigned short HAVE_NOTHING = 0; |
54 const unsigned short HAVE_METADATA = 1; | 54 const unsigned short HAVE_METADATA = 1; |
55 const unsigned short HAVE_CURRENT_DATA = 2; | 55 const unsigned short HAVE_CURRENT_DATA = 2; |
56 const unsigned short HAVE_FUTURE_DATA = 3; | 56 const unsigned short HAVE_FUTURE_DATA = 3; |
57 const unsigned short HAVE_ENOUGH_DATA = 4; | 57 const unsigned short HAVE_ENOUGH_DATA = 4; |
58 readonly attribute unsigned short readyState; | 58 [ImplementedAs=getReadyState] readonly attribute unsigned short readyState; |
59 readonly attribute boolean seeking; | 59 readonly attribute boolean seeking; |
60 | 60 |
61 // playback state | 61 // playback state |
62 [RaisesException=Setter] attribute double currentTime; | 62 attribute double currentTime; |
63 // FIXME: void fastSeek(double time); | 63 // FIXME: void fastSeek(double time); |
64 readonly attribute unrestricted double duration; | 64 readonly attribute unrestricted double duration; |
65 // FIXME: Date getStartDate(); crbug.com/312699 | 65 // FIXME: Date getStartDate(); crbug.com/312699 |
66 readonly attribute boolean paused; | 66 readonly attribute boolean paused; |
67 attribute double defaultPlaybackRate; | 67 attribute double defaultPlaybackRate; |
68 attribute double playbackRate; | 68 attribute double playbackRate; |
69 readonly attribute TimeRanges played; | 69 readonly attribute TimeRanges played; |
70 readonly attribute TimeRanges seekable; | 70 readonly attribute TimeRanges seekable; |
71 readonly attribute boolean ended; | 71 readonly attribute boolean ended; |
72 [Reflect] attribute boolean autoplay; | 72 [Reflect] attribute boolean autoplay; |
73 [Reflect] attribute boolean loop; | 73 [Reflect] attribute boolean loop; |
74 void play(); | 74 [CallWith=ScriptState, ImplementedAs=playForBindings] Promise<void> play(); |
75 void pause(); | 75 void pause(); |
76 | 76 |
77 // media controller | |
78 [RuntimeEnabled=MediaController, Reflect] attribute DOMString mediaGroup; | |
79 [RuntimeEnabled=MediaController, TypeChecking=Interface] attribute MediaCont
roller? controller; | |
80 | |
81 // controls | 77 // controls |
82 [Reflect] attribute boolean controls; | 78 [Reflect] attribute boolean controls; |
83 [RaisesException=Setter] attribute double volume; | 79 [RaisesException=Setter] attribute double volume; |
84 attribute boolean muted; | 80 attribute boolean muted; |
85 [Reflect=muted] attribute boolean defaultMuted; | 81 [Reflect=muted] attribute boolean defaultMuted; |
86 | 82 |
87 // tracks | 83 // tracks |
88 [SameObject, RuntimeEnabled=AudioVideoTracks] readonly attribute AudioTrackL
ist audioTracks; | 84 [SameObject, RuntimeEnabled=AudioVideoTracks] readonly attribute AudioTrackL
ist audioTracks; |
89 [SameObject, RuntimeEnabled=AudioVideoTracks] readonly attribute VideoTrackL
ist videoTracks; | 85 [SameObject, RuntimeEnabled=AudioVideoTracks] readonly attribute VideoTrackL
ist videoTracks; |
90 [SameObject] readonly attribute TextTrackList textTracks; | 86 [SameObject] readonly attribute TextTrackList textTracks; |
91 [RaisesException] TextTrack addTextTrack(TextTrackKind kind, optional DOMStr
ing label = "", optional DOMString language = ""); | 87 [RaisesException] TextTrack addTextTrack(TextTrackKind kind, optional DOMStr
ing label = "", optional DOMString language = ""); |
92 | 88 |
93 // Non-standard APIs | 89 // Non-standard APIs |
94 [RuntimeEnabled=PrefixedEncryptedMedia, DeprecateAs=CanPlayTypeKeySystem] DO
MString canPlayType(DOMString type, [TreatUndefinedAs=NullString] DOMString? key
System); | |
95 // The number of bytes consumed by the media decoder. | 90 // The number of bytes consumed by the media decoder. |
96 [MeasureAs=PrefixedAudioDecodedByteCount] readonly attribute unsigned long w
ebkitAudioDecodedByteCount; | 91 [MeasureAs=PrefixedAudioDecodedByteCount] readonly attribute unsigned long w
ebkitAudioDecodedByteCount; |
97 [MeasureAs=PrefixedVideoDecodedByteCount] readonly attribute unsigned long w
ebkitVideoDecodedByteCount; | 92 [MeasureAs=PrefixedVideoDecodedByteCount] readonly attribute unsigned long w
ebkitVideoDecodedByteCount; |
98 }; | 93 }; |
OLD | NEW |