Title: [168679] trunk
Revision
168679
Author
[email protected]
Date
2014-05-13 06:56:15 -0700 (Tue, 13 May 2014)

Log Message

[MediaStream] MediaStream.addTrack Should not check for active state.

Source/WebCore:
https://bugs.webkit.org/show_bug.cgi?id=132558

Patch by Kiran <[email protected]> on 2014-05-13
Reviewed by Eric Carlson.

MediaStream.addTrack method is checking for active state of a
MediaStream, but it should not check for active state while adding a Track.

Test: fast/mediastream/MediaStream-add-tracks-to-inactive-stream.html

* Modules/mediastream/MediaStream.cpp:
(WebCore::MediaStream::addTrack):

LayoutTests:
Nhttps://bugs.webkit.org/show_bug.cgi?id=132558.

Patch by Kiran <[email protected]> on 2014-05-13
Reviewed by Eric Carlson.

MediaStream.addTrack method is checking for active state of a
MediaStream, but it should not check for active state while adding a Track

Removed check not to add tracks to ended stream:relative which forced tests to avoid this bug.
* fast/mediastream/MediaStream-add-remove-tracks-expected.txt:
* fast/mediastream/MediaStream-add-remove-tracks.html:

New tests:
* fast/mediastream/MediaStream-add-tracks-to-inactive-stream-expected.txt: Added.
* fast/mediastream/MediaStream-add-tracks-to-inactive-stream.html: Added.

Modified Paths

Added Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (168678 => 168679)


--- trunk/LayoutTests/ChangeLog	2014-05-13 13:11:25 UTC (rev 168678)
+++ trunk/LayoutTests/ChangeLog	2014-05-13 13:56:15 UTC (rev 168679)
@@ -1,3 +1,21 @@
+2014-05-13  Kiran  <[email protected]>
+
+        [MediaStream] MediaStream.addTrack Should not check for active state.
+        Nhttps://bugs.webkit.org/show_bug.cgi?id=132558.
+
+        Reviewed by Eric Carlson.
+
+        MediaStream.addTrack method is checking for active state of a
+        MediaStream, but it should not check for active state while adding a Track
+
+        Removed check not to add tracks to ended stream:relative which forced tests to avoid this bug. 
+        * fast/mediastream/MediaStream-add-remove-tracks-expected.txt:
+        * fast/mediastream/MediaStream-add-remove-tracks.html:
+
+        New tests:
+        * fast/mediastream/MediaStream-add-tracks-to-inactive-stream-expected.txt: Added.
+        * fast/mediastream/MediaStream-add-tracks-to-inactive-stream.html: Added.
+
 2014-05-13  Lorenzo Tilve  <[email protected]>
 
         [GTK] Unreviewed GTK gardening

Modified: trunk/LayoutTests/fast/mediastream/MediaStream-add-remove-tracks-expected.txt (168678 => 168679)


--- trunk/LayoutTests/fast/mediastream/MediaStream-add-remove-tracks-expected.txt	2014-05-13 13:11:25 UTC (rev 168678)
+++ trunk/LayoutTests/fast/mediastream/MediaStream-add-remove-tracks-expected.txt	2014-05-13 13:56:15 UTC (rev 168679)
@@ -48,8 +48,7 @@
 PASS stream2.getAudioTracks().length is 0
 PASS stream2.getVideoTracks().length is 0
 
-*** it should be impossible to add a track after the stream has ended
-PASS stream2.addTrack(audioTrack) threw exception Error: InvalidStateError: DOM Exception 11.
+*** it should be impossible to remove a track after the stream has ended
 PASS stream2.removeTrack(audioTrack) threw exception Error: InvalidStateError: DOM Exception 11.
 Stream2 is inactive.
 PASS successfullyParsed is true

Modified: trunk/LayoutTests/fast/mediastream/MediaStream-add-remove-tracks.html (168678 => 168679)


--- trunk/LayoutTests/fast/mediastream/MediaStream-add-remove-tracks.html	2014-05-13 13:11:25 UTC (rev 168678)
+++ trunk/LayoutTests/fast/mediastream/MediaStream-add-remove-tracks.html	2014-05-13 13:56:15 UTC (rev 168679)
@@ -130,8 +130,7 @@
                 shouldBe('stream2.getAudioTracks().length', '0');
                 shouldBe('stream2.getVideoTracks().length', '0');
 
-                debug("<br>*** it should be impossible to add a track after the stream has ended");
-                shouldThrow('stream2.addTrack(audioTrack)', '"Error: InvalidStateError: DOM Exception 11"');
+                debug("<br>*** it should be impossible to remove a track after the stream has ended");
                 shouldThrow('stream2.removeTrack(audioTrack)', '"Error: InvalidStateError: DOM Exception 11"');
             }
 

Added: trunk/LayoutTests/fast/mediastream/MediaStream-add-tracks-to-inactive-stream-expected.txt (0 => 168679)


--- trunk/LayoutTests/fast/mediastream/MediaStream-add-tracks-to-inactive-stream-expected.txt	                        (rev 0)
+++ trunk/LayoutTests/fast/mediastream/MediaStream-add-tracks-to-inactive-stream-expected.txt	2014-05-13 13:56:15 UTC (rev 168679)
@@ -0,0 +1,13 @@
+Test adding tracks to inactive MediaStream.
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+MediaStream without tracks created.
+PASS stream2.getAudioTracks().length is 0
+Adding tracks to inactive stream
+PASS stream2.getAudioTracks().length is 1
+PASS successfullyParsed is true
+
+TEST COMPLETE
+

Added: trunk/LayoutTests/fast/mediastream/MediaStream-add-tracks-to-inactive-stream.html (0 => 168679)


--- trunk/LayoutTests/fast/mediastream/MediaStream-add-tracks-to-inactive-stream.html	                        (rev 0)
+++ trunk/LayoutTests/fast/mediastream/MediaStream-add-tracks-to-inactive-stream.html	2014-05-13 13:56:15 UTC (rev 168679)
@@ -0,0 +1,69 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
+<html>
+    <head>
+        <script src=""
+        <script>
+
+
+            var stream1;
+            var audioTrack;
+
+            function error()
+            {
+                testFailed('Stream generation failed.');
+                finishJSTest();
+            }
+
+            function getUserMedia(dictionary, callback)
+            {
+                try {
+                    navigator.webkitGetUserMedia(dictionary, callback, error);
+                } catch (e) {
+                    testFailed('webkitGetUserMedia threw exception :' + e);
+                    finishJSTest();
+                }
+            }
+
+            function tryAddTrack(stream, track)
+            {
+                try {
+                    stream.addTrack(track);
+                } catch (exception) {
+                    testFailed("addTrack threw an exception.");
+                    finishJSTest();
+                }
+            }
+
+            function createStreamAndAddTracks()
+            {
+                stream2 = new webkitMediaStream();
+                debug("MediaStream without tracks created.");
+                shouldBe('stream2.getAudioTracks().length', '0');
+                audioTrack = stream1.getAudioTracks()[0];
+                debug("Adding tracks to inactive stream");
+                tryAddTrack(stream2, audioTrack);
+                shouldBe('stream2.getAudioTracks().length', '1');
+                finishJSTest();
+            }
+
+            function gotStream1(s)
+            {
+                stream1 = s;
+                createStreamAndAddTracks();
+            }
+
+            function startMedia()
+            {
+                description("Test adding tracks to inactive MediaStream.");
+                getUserMedia({audio:true, video:true}, gotStream1); 
+            }
+            window.jsTestIsAsync = true;
+            window.successfullyParsed = true;
+        </script>
+        <script src=""
+    </head>
+    <body _onload_="startMedia()">
+        <p id="description"></p>
+        <div id="console"></div>
+    </body>
+</html>

Modified: trunk/Source/WebCore/ChangeLog (168678 => 168679)


--- trunk/Source/WebCore/ChangeLog	2014-05-13 13:11:25 UTC (rev 168678)
+++ trunk/Source/WebCore/ChangeLog	2014-05-13 13:56:15 UTC (rev 168679)
@@ -1,3 +1,18 @@
+2014-05-13  Kiran  <[email protected]>
+
+        [MediaStream] MediaStream.addTrack Should not check for active state.
+        https://bugs.webkit.org/show_bug.cgi?id=132558
+
+        Reviewed by Eric Carlson.
+
+        MediaStream.addTrack method is checking for active state of a
+        MediaStream, but it should not check for active state while adding a Track.
+
+        Test: fast/mediastream/MediaStream-add-tracks-to-inactive-stream.html
+
+        * Modules/mediastream/MediaStream.cpp:
+        (WebCore::MediaStream::addTrack):
+
 2014-05-12  Mark Lam  <[email protected]>
 
         WebKit2 on iOS needs to capture the main thread's floating point environment.

Modified: trunk/Source/WebCore/Modules/mediastream/MediaStream.cpp (168678 => 168679)


--- trunk/Source/WebCore/Modules/mediastream/MediaStream.cpp	2014-05-13 13:11:25 UTC (rev 168678)
+++ trunk/Source/WebCore/Modules/mediastream/MediaStream.cpp	2014-05-13 13:56:15 UTC (rev 168679)
@@ -143,11 +143,6 @@
 
 void MediaStream::addTrack(PassRefPtr<MediaStreamTrack> prpTrack, ExceptionCode& ec)
 {
-    if (!active()) {
-        ec = INVALID_STATE_ERR;
-        return;
-    }
-
     if (!prpTrack) {
         ec = TYPE_MISMATCH_ERR;
         return;
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to