| OLD | NEW |
| 1 <!doctype html> | 1 <!doctype html> |
| 2 <html> | 2 <html> |
| 3 <head> | 3 <head> |
| 4 <title>Removing a track from a MediaStream</title> | 4 <title>Removing a track from a MediaStream</title> |
| 5 <link rel="author" title="Dominique Hazael-Massieux" href="mailto:dom@w3.org"/> | 5 <link rel="author" title="Dominique Hazael-Massieux" href="mailto:dom@w3.org"/> |
| 6 <link rel="help" href="http://dev.w3.org/2011/webrtc/editor/getusermedia.html#wi
dl-MediaStreamTrackList-remove-void-MediaStreamTrack-track"> | 6 <link rel="help" href="http://dev.w3.org/2011/webrtc/editor/getusermedia.html#wi
dl-MediaStreamTrackList-remove-void-MediaStreamTrack-track"> |
| 7 <link rel="help" href="http://dev.w3.org/2011/webrtc/editor/getusermedia.html#ev
ent-mediastream-removetrack"> | 7 <link rel="help" href="http://dev.w3.org/2011/webrtc/editor/getusermedia.html#ev
ent-mediastream-removetrack"> |
| 8 <link rel='stylesheet' href='../../../../../resources/testharness.css' media='al
l'/> | 8 <link rel='stylesheet' href='../../../../../resources/testharness.css' media='al
l'/> |
| 9 </head> | 9 </head> |
| 10 <body> | 10 <body> |
| 11 <p class="instructions" style="display:none">When prompted, accept to share your
audio stream, then your video stream.</p> | 11 <p class="instructions" style="display:none">When prompted, accept to share your
audio stream, then your video stream.</p> |
| 12 <h1 class="instructions" style="display:none">Description</h1> | 12 <h1 class="instructions" style="display:none">Description</h1> |
| 13 <p class="instructions" style="display:none">This test checks that removinging a
track from a MediaStream works as expected.</p> | 13 <p class="instructions" style="display:none">This test checks that removinging a
track from a MediaStream works as expected.</p> |
| 14 | 14 |
| 15 <div id='log'></div> | 15 <div id='log'></div> |
| 16 <script src=../../../../../resources/testharness.js></script> | 16 <script src=../../../../../resources/testharness.js></script> |
| 17 <script src=../../../../../resources/testharnessreport.js></script> | 17 <script src=../../../../../resources/testharnessreport.js></script> |
| 18 <script src="../../../../../resources/vendor-prefix.js" data-prefixed-objects='[
{"ancestors":["navigator"], "name":"getUserMedia"}]'></script> | 18 <script src="../../../../../resources/vendor-prefix.js" data-prefixed-objects='[
{"ancestors":["navigator"], "name":"getUserMedia"}]'></script> |
| 19 <script> | 19 <script> |
| 20 var t = async_test("Tests that a removal from a MediaStream works as expected",
{timeout:10000}); | 20 var t = async_test("Tests that a removal from a MediaStream works as expected",
{timeout:10000}); |
| 21 t.step(function () { | 21 t.step(function () { |
| 22 var audio; | 22 var audio; |
| 23 navigator.getUserMedia({audio:true}, gotAudio, function(error) {}); | 23 navigator.getUserMedia({audio:true}, gotAudio, function(error) {}); |
| 24 function gotAudio(stream) { | 24 function gotAudio(stream) { |
| 25 audio = stream; | 25 audio = stream; |
| 26 navigator.getUserMedia({video:true}, gotVideo, function(error) {}); | 26 navigator.getUserMedia({video:true}, gotVideo, function(error) {}); |
| 27 } | 27 } |
| 28 | 28 |
| 29 function gotVideo(stream) { | 29 function gotVideo(stream) { |
| 30 console.log(stream); | |
| 31 var video = stream; | 30 var video = stream; |
| 32 console.log(video); | |
| 33 video.onremovetrack = function () { | 31 video.onremovetrack = function () { |
| 34 assert_unreached("onremovetrack is not triggered when removal of track is
triggered by the script itself"); | 32 assert_unreached("onremovetrack is not triggered when removal of track is
triggered by the script itself"); |
| 35 }; | 33 }; |
| 36 t.step(function () { | 34 t.step(function () { |
| 37 assert_equals(video.getVideoTracks().length, 1, "video mediastream starts
with one video track"); | 35 assert_equals(video.getVideoTracks().length, 1, "video mediastream starts
with one video track"); |
| 38 video.removeTrack(video.getVideoTracks()[0]); | 36 video.removeTrack(video.getVideoTracks()[0]); |
| 39 assert_equals(video.getVideoTracks().length, 0, "video mediastream has no
video track left"); | 37 assert_equals(video.getVideoTracks().length, 0, "video mediastream has no
video track left"); |
| 40 video.removeTrack(audio.getAudioTracks()[0]); // should not throw | 38 video.removeTrack(audio.getAudioTracks()[0]); // should not throw |
| 41 }); | 39 }); |
| 42 t.step(function() { | 40 t.step(function() { |
| 43 t.done(); | 41 t.done(); |
| 44 }); | 42 }); |
| 45 } | 43 } |
| 46 }); | 44 }); |
| 47 </script> | 45 </script> |
| 48 </body> | 46 </body> |
| 49 </html> | 47 </html> |
| OLD | NEW |