Generate bindings for HTMLAudioElement, HTMLVideoElement.

This commit is contained in:
Tetsuharu OHZEKI 2013-08-31 19:46:55 +09:00
parent a76e46416a
commit 17e888bfea
10 changed files with 174 additions and 1 deletions

View file

@ -556,6 +556,7 @@ addHTMLElement('Text')
addHTMLElement('HTMLAnchorElement')
addHTMLElement('HTMLAppletElement')
addHTMLElement('HTMLAreaElement')
addHTMLElement('HTMLAudioElement')
addHTMLElement('HTMLButtonElement')
addHTMLElement('HTMLBaseElement')
addHTMLElement('HTMLBodyElement')
@ -616,6 +617,7 @@ addHTMLElement('HTMLTimeElement')
addHTMLElement('HTMLTitleElement')
addHTMLElement('HTMLTrackElement')
addHTMLElement('HTMLUListElement')
addHTMLElement('HTMLVideoElement')
addHTMLElement('HTMLUnknownElement')
# If you add one of these, you need to make sure nsDOMQS.h has the relevant
@ -625,7 +627,6 @@ def addExternalHTMLElement(element):
addExternalIface(element, nativeType=nativeElement,
headerFile=nativeElement + '.h')
addExternalHTMLElement('HTMLVideoElement')
addExternalIface('CanvasGradient', headerFile='nsIDOMCanvasRenderingContext2D.h')
addExternalIface('CanvasPattern', headerFile='nsIDOMCanvasRenderingContext2D.h')
addExternalIface('CSSRule')

View file

@ -0,0 +1,37 @@
/* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* 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 http://mozilla.org/MPL/2.0/.
*
* The origin of this IDL file is
* http://www.whatwg.org/specs/web-apps/current-work/#the-audio-element
*
* © Copyright 2004-2011 Apple Computer, Inc., Mozilla Foundation, and
* Opera Software ASA. You are granted a license to use, reproduce
* and create derivative works of this document.
*/
// import from http://mxr.mozilla.org/mozilla-central/source/dom/webidl/
[NamedConstructor=Audio(optional DOMString src)]
interface HTMLAudioElement : HTMLMediaElement {};
partial interface HTMLAudioElement
{
/*
// Setup the audio stream for writing
[Pref="media.audio_data.enabled", Throws]
void mozSetup(unsigned long channels, unsigned long rate);
// Write audio to the audio stream
[Pref="media.audio_data.enabled", Throws]
unsigned long mozWriteAudio(Float32Array data);
[Pref="media.audio_data.enabled", Throws]
unsigned long mozWriteAudio(sequence<unrestricted float> data);
// Get the current offset (measured in samples since the start) of the audio
// stream created using mozWriteAudio().
[Pref="media.audio_data.enabled", Throws]
unsigned long long mozCurrentSampleOffset();
*/
};

View file

@ -0,0 +1,56 @@
/* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* 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 http://mozilla.org/MPL/2.0/.
*
* The origin of this IDL file is
* http://www.whatwg.org/specs/web-apps/current-work/#the-video-element
*
* © Copyright 2004-2011 Apple Computer, Inc., Mozilla Foundation, and
* Opera Software ASA. You are granted a license to use, reproduce
* and create derivative works of this document.
*/
// import from http://mxr.mozilla.org/mozilla-central/source/dom/webidl/
interface HTMLVideoElement : HTMLMediaElement {
[SetterThrows]
attribute unsigned long width;
[SetterThrows]
attribute unsigned long height;
readonly attribute unsigned long videoWidth;
readonly attribute unsigned long videoHeight;
[SetterThrows]
attribute DOMString poster;
};
/*
partial interface HTMLVideoElement {
// A count of the number of video frames that have demuxed from the media
// resource. If we were playing perfectly, we'd be able to paint this many
// frames.
readonly attribute unsigned long mozParsedFrames;
// A count of the number of frames that have been decoded. We may drop
// frames if the decode is taking too much time.
readonly attribute unsigned long mozDecodedFrames;
// A count of the number of frames that have been presented to the rendering
// pipeline. We may drop frames if they arrive late at the renderer.
readonly attribute unsigned long mozPresentedFrames;
// Number of presented frames which were painted on screen.
readonly attribute unsigned long mozPaintedFrames;
// Time which the last painted video frame was late by, in seconds.
readonly attribute double mozFrameDelay;
// True if the video has an audio track available.
readonly attribute boolean mozHasAudio;
};
// https://dvcs.w3.org/hg/html-media/raw-file/default/media-source/media-source.html#idl-def-HTMLVideoElement
partial interface HTMLVideoElement {
[Pref="media.mediasource.enabled", Creator]
VideoPlaybackQuality getVideoPlaybackQuality();
};
*/