Add empty MediaStream interface

This commit is contained in:
Manish Goregaokar 2019-01-28 13:10:57 -08:00
parent bafbc0e1c0
commit 8b55d69fe1
3 changed files with 59 additions and 0 deletions

View file

@ -0,0 +1,34 @@
/* 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 https://mozilla.org/MPL/2.0/. */
use crate::dom::bindings::codegen::Bindings::MediaStreamBinding;
use crate::dom::bindings::error::Fallible;
use crate::dom::bindings::reflector::reflect_dom_object;
use crate::dom::bindings::reflector::DomObject;
use crate::dom::bindings::root::DomRoot;
use crate::dom::eventtarget::EventTarget;
use crate::dom::globalscope::GlobalScope;
use crate::dom::window::Window;
use dom_struct::dom_struct;
#[dom_struct]
pub struct MediaStream {
eventtarget: EventTarget,
}
impl MediaStream {
pub fn new_inherited() -> MediaStream {
MediaStream {
eventtarget: EventTarget::new_inherited(),
}
}
pub fn new(global: &GlobalScope) -> DomRoot<MediaStream> {
reflect_dom_object(
Box::new(MediaStream::new_inherited()),
global,
MediaStreamBinding::Wrap,
)
}
}

View file

@ -394,6 +394,7 @@ pub mod mediaerror;
pub mod medialist; pub mod medialist;
pub mod mediaquerylist; pub mod mediaquerylist;
pub mod mediaquerylistevent; pub mod mediaquerylistevent;
pub mod mediastream;
pub mod messageevent; pub mod messageevent;
pub mod mimetype; pub mod mimetype;
pub mod mimetypearray; pub mod mimetypearray;

View file

@ -0,0 +1,24 @@
/* 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 https://mozilla.org/MPL/2.0/. */
// https://w3c.github.io/mediacapture-main/#dom-mediastream
// [Exposed=Window,
// Constructor,
// Constructor(MediaStream stream),
// Constructor(sequence<MediaStreamTrack> tracks)]
[Exposed=Window, Pref="dom.webrtc.enabled"]
interface MediaStream : EventTarget {
// readonly attribute DOMString id;
// sequence<MediaStreamTrack> getAudioTracks();
// sequence<MediaStreamTrack> getVideoTracks();
// sequence<MediaStreamTrack> getTracks();
// MediaStreamTrack? getTrackById(DOMString trackId);
// void addTrack(MediaStreamTrack track);
// void removeTrack(MediaStreamTrack track);
// MediaStream clone();
// readonly attribute boolean active;
// attribute EventHandler onaddtrack;
// attribute EventHandler onremovetrack;
};