diff options
author | Manish Goregaokar <manishsmail@gmail.com> | 2019-05-07 14:45:48 -0700 |
---|---|---|
committer | Manish Goregaokar <manishsmail@gmail.com> | 2019-05-08 08:15:01 -0700 |
commit | 477ca175e38b232535bdad47eb71f1f2152b4da4 (patch) | |
tree | d8186fb3a40d05870195c1aef347936f66a74214 /components/script/dom/mediastream.rs | |
parent | 571c3d6d0e9785a611f39357ca9736259aa23004 (diff) | |
download | servo-477ca175e38b232535bdad47eb71f1f2152b4da4.tar.gz servo-477ca175e38b232535bdad47eb71f1f2152b4da4.zip |
Add MediaStream.addTrack() and MediaStream.removeTrack()
Diffstat (limited to 'components/script/dom/mediastream.rs')
-rw-r--r-- | components/script/dom/mediastream.rs | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/components/script/dom/mediastream.rs b/components/script/dom/mediastream.rs index 395abd95ab6..38a9ce5f652 100644 --- a/components/script/dom/mediastream.rs +++ b/components/script/dom/mediastream.rs @@ -83,4 +83,19 @@ impl MediaStreamMethods for MediaStream { .find(|x| x.id().id().to_string() == &*id) .map(|x| DomRoot::from_ref(&**x)) } + + /// https://w3c.github.io/mediacapture-main/#dom-mediastream-addtrack + fn AddTrack(&self, track: &MediaStreamTrack) { + let existing = self.tracks.borrow().iter().find(|x| *x == &track).is_some(); + + if existing { + return; + } + self.add_track(track) + } + + /// https://w3c.github.io/mediacapture-main/#dom-mediastream-removetrack + fn RemoveTrack(&self, track: &MediaStreamTrack) { + self.tracks.borrow_mut().retain(|x| *x != track); + } } |