Home | History | Annotate | Download | only in html
      1 /*
      2  * Copyright (C) 2007, 2010, 2011, 2012 Apple Inc. All rights reserved.
      3  *
      4  * Redistribution and use in source and binary forms, with or without
      5  * modification, are permitted provided that the following conditions
      6  * are met:
      7  * 1. Redistributions of source code must retain the above copyright
      8  *    notice, this list of conditions and the following disclaimer.
      9  * 2. Redistributions in binary form must reproduce the above copyright
     10  *    notice, this list of conditions and the following disclaimer in the
     11  *    documentation and/or other materials provided with the distribution.
     12  *
     13  * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY
     14  * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
     15  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
     16  * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE COMPUTER, INC. OR
     17  * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
     18  * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
     19  * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
     20  * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
     21  * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
     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.
     24  */
     25 
     26 [
     27     ActiveDOMObject,
     28     RuntimeEnabled=Media,
     29     SpecialWrapFor=(HTMLAudioElement,HTMLVideoElement),
     30     TypeChecking=Unrestricted,
     31 ] interface HTMLMediaElement : HTMLElement {
     32 
     33     // error state
     34     readonly attribute MediaError? error;
     35 
     36     // network state
     37     [Reflect, URL] attribute DOMString src;
     38     [URL] readonly attribute DOMString currentSrc;
     39     [Reflect, ReflectOnly=("anonymous","use-credentials"), ReflectEmpty="anonymous", ReflectInvalid="anonymous"] attribute DOMString? crossOrigin;
     40 
     41     const unsigned short NETWORK_EMPTY = 0;
     42     const unsigned short NETWORK_IDLE = 1;
     43     const unsigned short NETWORK_LOADING = 2;
     44     const unsigned short NETWORK_NO_SOURCE = 3;
     45     readonly attribute unsigned short networkState;
     46     attribute DOMString preload;
     47 
     48     readonly attribute TimeRanges buffered;
     49     void load();
     50     DOMString canPlayType(DOMString type, [Default=Undefined, TreatUndefinedAs=NullString] optional DOMString? keySystem);
     51 
     52     // ready state
     53     const unsigned short HAVE_NOTHING = 0;
     54     const unsigned short HAVE_METADATA = 1;
     55     const unsigned short HAVE_CURRENT_DATA = 2;
     56     const unsigned short HAVE_FUTURE_DATA = 3;
     57     const unsigned short HAVE_ENOUGH_DATA = 4;
     58     readonly attribute unsigned short readyState;
     59     readonly attribute boolean seeking;
     60 
     61     // playback state
     62     [RaisesException=Setter] attribute double currentTime;
     63     readonly attribute unrestricted double duration;
     64     readonly attribute boolean paused;
     65     attribute double defaultPlaybackRate;
     66     attribute double playbackRate;
     67     readonly attribute TimeRanges played;
     68     readonly attribute TimeRanges seekable;
     69     readonly attribute boolean ended;
     70     [Reflect] attribute boolean autoplay;
     71     [Reflect] attribute boolean loop;
     72     void play();
     73     void pause();
     74 
     75     // media controller
     76     [RuntimeEnabled=MediaController, Reflect] attribute DOMString mediaGroup;
     77     [RuntimeEnabled=MediaController, TypeChecking=Interface] attribute MediaController? controller;
     78 
     79     // controls
     80     [Reflect] attribute boolean controls;
     81     [RaisesException=Setter] attribute double volume;
     82     attribute boolean muted;
     83     [Reflect=muted] attribute boolean defaultMuted;
     84 
     85     // tracks
     86     [RuntimeEnabled=AudioVideoTracks] readonly attribute AudioTrackList audioTracks;
     87     [RuntimeEnabled=AudioVideoTracks] readonly attribute VideoTrackList videoTracks;
     88     readonly attribute TextTrackList textTracks;
     89     [RaisesException] TextTrack addTextTrack(DOMString kind, optional DOMString label, optional DOMString language);
     90 
     91     // WebKit extensions
     92 
     93     // The number of bytes consumed by the media decoder.
     94     [MeasureAs=PrefixedAudioDecodedByteCount] readonly attribute unsigned long webkitAudioDecodedByteCount;
     95     [MeasureAs=PrefixedVideoDecodedByteCount] readonly attribute unsigned long webkitVideoDecodedByteCount;
     96 
     97     [Reflect, RuntimeEnabled=SubresourceIntegrity] attribute DOMString integrity;
     98 };
     99