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/#htmlmediaelement |
| 27 |
| 28 enum CanPlayTypeResult { "" /* empty string */, "maybe", "probably" }; |
26 [ | 29 [ |
27 ActiveDOMObject, | 30 ActiveDOMObject, |
28 RuntimeEnabled=Media, | 31 RuntimeEnabled=Media, |
29 ] interface HTMLMediaElement : HTMLElement { | 32 ] interface HTMLMediaElement : HTMLElement { |
30 | 33 |
31 // error state | 34 // error state |
32 readonly attribute MediaError? error; | 35 readonly attribute MediaError? error; |
33 | 36 |
34 // network state | 37 // network state |
35 [Reflect, URL] attribute DOMString src; | 38 [Reflect, URL] attribute DOMString src; |
36 [URL] readonly attribute DOMString currentSrc; | 39 // FIXME: attribute MediaProvider? srcObject; crbug.com/387740 |
| 40 readonly attribute DOMString currentSrc; |
37 [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; |
38 | |
39 const unsigned short NETWORK_EMPTY = 0; | 42 const unsigned short NETWORK_EMPTY = 0; |
40 const unsigned short NETWORK_IDLE = 1; | 43 const unsigned short NETWORK_IDLE = 1; |
41 const unsigned short NETWORK_LOADING = 2; | 44 const unsigned short NETWORK_LOADING = 2; |
42 const unsigned short NETWORK_NO_SOURCE = 3; | 45 const unsigned short NETWORK_NO_SOURCE = 3; |
43 readonly attribute unsigned short networkState; | 46 readonly attribute unsigned short networkState; |
44 attribute DOMString preload; | 47 attribute DOMString preload; |
45 | |
46 readonly attribute TimeRanges buffered; | 48 readonly attribute TimeRanges buffered; |
47 void load(); | 49 void load(); |
48 DOMString canPlayType(DOMString type); | 50 CanPlayTypeResult canPlayType(DOMString type); |
49 [RuntimeEnabled=PrefixedEncryptedMedia, DeprecateAs=CanPlayTypeKeySystem] DO
MString canPlayType(DOMString type, [TreatUndefinedAs=NullString] DOMString? key
System); | |
50 | 51 |
51 // ready state | 52 // ready state |
52 const unsigned short HAVE_NOTHING = 0; | 53 const unsigned short HAVE_NOTHING = 0; |
53 const unsigned short HAVE_METADATA = 1; | 54 const unsigned short HAVE_METADATA = 1; |
54 const unsigned short HAVE_CURRENT_DATA = 2; | 55 const unsigned short HAVE_CURRENT_DATA = 2; |
55 const unsigned short HAVE_FUTURE_DATA = 3; | 56 const unsigned short HAVE_FUTURE_DATA = 3; |
56 const unsigned short HAVE_ENOUGH_DATA = 4; | 57 const unsigned short HAVE_ENOUGH_DATA = 4; |
57 readonly attribute unsigned short readyState; | 58 readonly attribute unsigned short readyState; |
58 readonly attribute boolean seeking; | 59 readonly attribute boolean seeking; |
59 | 60 |
60 // playback state | 61 // playback state |
61 [RaisesException=Setter] attribute double currentTime; | 62 [RaisesException=Setter] attribute double currentTime; |
| 63 // FIXME: void fastSeek(double time); |
62 readonly attribute unrestricted double duration; | 64 readonly attribute unrestricted double duration; |
| 65 // FIXME: Date getStartDate(); crbug.com/312699 |
63 readonly attribute boolean paused; | 66 readonly attribute boolean paused; |
64 attribute double defaultPlaybackRate; | 67 attribute double defaultPlaybackRate; |
65 attribute double playbackRate; | 68 attribute double playbackRate; |
66 readonly attribute TimeRanges played; | 69 readonly attribute TimeRanges played; |
67 readonly attribute TimeRanges seekable; | 70 readonly attribute TimeRanges seekable; |
68 readonly attribute boolean ended; | 71 readonly attribute boolean ended; |
69 [Reflect] attribute boolean autoplay; | 72 [Reflect] attribute boolean autoplay; |
70 [Reflect] attribute boolean loop; | 73 [Reflect] attribute boolean loop; |
71 void play(); | 74 void play(); |
72 void pause(); | 75 void pause(); |
73 | 76 |
74 // media controller | 77 // media controller |
75 [RuntimeEnabled=MediaController, Reflect] attribute DOMString mediaGroup; | 78 [RuntimeEnabled=MediaController, Reflect] attribute DOMString mediaGroup; |
76 [RuntimeEnabled=MediaController, TypeChecking=Interface] attribute MediaCont
roller? controller; | 79 [RuntimeEnabled=MediaController, TypeChecking=Interface] attribute MediaCont
roller? controller; |
77 | 80 |
78 // controls | 81 // controls |
79 [Reflect] attribute boolean controls; | 82 [Reflect] attribute boolean controls; |
80 [RaisesException=Setter] attribute double volume; | 83 [RaisesException=Setter] attribute double volume; |
81 attribute boolean muted; | 84 attribute boolean muted; |
82 [Reflect=muted] attribute boolean defaultMuted; | 85 [Reflect=muted] attribute boolean defaultMuted; |
83 | 86 |
84 // tracks | 87 // tracks |
85 [RuntimeEnabled=AudioVideoTracks] readonly attribute AudioTrackList audioTra
cks; | 88 [SameObject, RuntimeEnabled=AudioVideoTracks] readonly attribute AudioTrackL
ist audioTracks; |
86 [RuntimeEnabled=AudioVideoTracks] readonly attribute VideoTrackList videoTra
cks; | 89 [SameObject, RuntimeEnabled=AudioVideoTracks] readonly attribute VideoTrackL
ist videoTracks; |
87 readonly attribute TextTrackList textTracks; | 90 [SameObject] readonly attribute TextTrackList textTracks; |
88 [RaisesException] TextTrack addTextTrack(TextTrackKind kind, optional DOMStr
ing label = "", optional DOMString language = ""); | 91 [RaisesException] TextTrack addTextTrack(TextTrackKind kind, optional DOMStr
ing label = "", optional DOMString language = ""); |
89 | 92 |
90 // WebKit extensions | 93 // Subresource Integrity |
| 94 // http://w3c.github.io/webappsec/specs/subresourceintegrity/ |
| 95 // FIXME: The spec does not extend HTMLAnchorElement. |
| 96 [Reflect, RuntimeEnabled=SubresourceIntegrity] attribute DOMString integrity
; |
91 | 97 |
| 98 // Non-standard APIs |
| 99 [RuntimeEnabled=PrefixedEncryptedMedia, DeprecateAs=CanPlayTypeKeySystem] DO
MString canPlayType(DOMString type, [TreatUndefinedAs=NullString] DOMString? key
System); |
92 // The number of bytes consumed by the media decoder. | 100 // The number of bytes consumed by the media decoder. |
93 [MeasureAs=PrefixedAudioDecodedByteCount] readonly attribute unsigned long w
ebkitAudioDecodedByteCount; | 101 [MeasureAs=PrefixedAudioDecodedByteCount] readonly attribute unsigned long w
ebkitAudioDecodedByteCount; |
94 [MeasureAs=PrefixedVideoDecodedByteCount] readonly attribute unsigned long w
ebkitVideoDecodedByteCount; | 102 [MeasureAs=PrefixedVideoDecodedByteCount] readonly attribute unsigned long w
ebkitVideoDecodedByteCount; |
95 | |
96 [Reflect, RuntimeEnabled=SubresourceIntegrity] attribute DOMString integrity
; | |
97 }; | 103 }; |
OLD | NEW |