| Index: LayoutTests/fast/mediastream/MediaStream-add-remove-tracks.html
|
| diff --git a/LayoutTests/fast/mediastream/MediaStream-add-remove-tracks.html b/LayoutTests/fast/mediastream/MediaStream-add-remove-tracks.html
|
| index 2ef08db836bd900ef0c33de0c48ae81fc95c9bc3..9d406b29b43d47ffb8ecbbaf676cdb5920042bf3 100644
|
| --- a/LayoutTests/fast/mediastream/MediaStream-add-remove-tracks.html
|
| +++ b/LayoutTests/fast/mediastream/MediaStream-add-remove-tracks.html
|
| @@ -9,6 +9,7 @@ description("Test adding and removing tracks.");
|
|
|
| var stream1;
|
| var stream2;
|
| +var stream3;
|
| var audioTrack;
|
| var videoTrack;
|
|
|
| @@ -48,6 +49,25 @@ function shouldNotFire() {
|
| testFailed("\"addtrack\" or \"removetrack\" events should not fire as a result of local addTrack() or removeTrack() operations.");
|
| }
|
|
|
| +function onStreamInactive() {
|
| + testPassed('Stream1 inactive.');
|
| + shouldBeFalse('stream1.active');
|
| + setTimeout(finishJSTest, 0);
|
| +}
|
| +
|
| +function onStreamActive() {
|
| + testPassed('Stream1 active.');
|
| + shouldBeTrue('stream1.active');
|
| + stream1.oninactive = onStreamInactive;
|
| + tryRemoveTrack(stream1, stream3.getAudioTracks()[0]);
|
| +}
|
| +
|
| +function gotStream3(s) {
|
| + stream3 = s;
|
| + stream1.onactive = onStreamActive;
|
| + tryAddTrack(stream1, stream3.getAudioTracks()[0]);
|
| +}
|
| +
|
| function gotStream2(s) {
|
| stream2 = s;
|
|
|
| @@ -116,17 +136,18 @@ function gotStream2(s) {
|
| shouldBe('stream1.getVideoTracks().length', '2');
|
| shouldBe('stream1.getTracks().length', '4');
|
|
|
| - // when all tracks have been removed, stream.ended should return true.
|
| + // when all tracks have been removed, stream.active should return false.
|
| tryRemoveTrack(stream2, stream2.getAudioTracks()[0]);
|
| tryRemoveTrack(stream2, stream2.getVideoTracks()[0]);
|
| - shouldBeTrue('stream2.ended');
|
| -
|
| - stream1.stop();
|
| -
|
| - shouldThrow('stream1.addTrack(audioTrack)');
|
| - shouldThrow('stream1.removeTrack(audioTrack)');
|
| -
|
| - setTimeout(finishJSTest, 0);
|
| + shouldBeFalse('stream2.active');
|
| +
|
| + // when all tracks have been stopped, stream.active should return false.
|
| + for (var i = 0; i < stream1.getAudioTracks().length; i++)
|
| + stream1.getAudioTracks()[i].stop();
|
| + for (var i = 0; i < stream1.getVideoTracks().length; i++)
|
| + stream1.getVideoTracks()[i].stop();
|
| + shouldBeFalse('stream1.active');
|
| + getUserMedia({audio:true, video:true}, gotStream3);
|
| }
|
|
|
| function gotStream1(s) {
|
|
|