Diff
Modified: trunk/LayoutTests/ChangeLog (192483 => 192484)
--- trunk/LayoutTests/ChangeLog 2015-11-16 20:50:55 UTC (rev 192483)
+++ trunk/LayoutTests/ChangeLog 2015-11-16 22:04:32 UTC (rev 192484)
@@ -1,3 +1,25 @@
+2015-11-16 Wenson Hsieh <wenson_hs...@apple.com>
+
+ Enable passing tests in LayoutTests/fast/mediastream
+ https://bugs.webkit.org/show_bug.cgi?id=151311
+
+ Reviewed by Eric Carlson.
+
+ Mark LayoutTests/fast/mediastream as passing by default, and skip only the tests that currently
+ fail. Also unprefixes some tests that fail due to invoking the webkitMediaStream constructor
+ rather than MediaStream. As we implement more functionality in the Media Stream and Capture
+ spec, we will remove entries from the fast/mediastream section under Mac TestExpectations.
+
+ * fast/events/constructors/media-stream-event-constructor.html:
+ * fast/mediastream/MediaStream-add-ended-tracks.html:
+ * fast/mediastream/MediaStream-add-tracks-to-inactive-stream.html:
+ * fast/mediastream/MediaStream-construct-with-ended-tracks.html:
+ * fast/mediastream/MediaStreamConstructor-expected.txt:
+ * fast/mediastream/MediaStreamConstructor.html:
+ * fast/mediastream/MediaStreamTrack-onended.html:
+ * platform/mac-wk1/TestExpectations:
+ * platform/mac/TestExpectations:
+
2015-11-16 Jiewen Tan <jiewen_...@apple.com>
Null-pointer dereference in WebCore::firstEditablePositionAfterPositionInRoot
Modified: trunk/LayoutTests/fast/events/constructors/media-stream-event-constructor.html (192483 => 192484)
--- trunk/LayoutTests/fast/events/constructors/media-stream-event-constructor.html 2015-11-16 20:50:55 UTC (rev 192483)
+++ trunk/LayoutTests/fast/events/constructors/media-stream-event-constructor.html 2015-11-16 22:04:32 UTC (rev 192484)
@@ -9,7 +9,7 @@
description("This tests the constructor for the MediaStreamEvent DOM class.");
var testObject = {nyannyan: 123};
-var mediaStream = new webkitMediaStream();
+var mediaStream = new MediaStream();
// No initializer is passed.
shouldBe("new MediaStreamEvent('eventType').bubbles", "false");
Modified: trunk/LayoutTests/fast/mediastream/MediaStream-add-ended-tracks.html (192483 => 192484)
--- trunk/LayoutTests/fast/mediastream/MediaStream-add-ended-tracks.html 2015-11-16 20:50:55 UTC (rev 192483)
+++ trunk/LayoutTests/fast/mediastream/MediaStream-add-ended-tracks.html 2015-11-16 22:04:32 UTC (rev 192484)
@@ -52,7 +52,7 @@
shouldBeEqualToString('audioTrack.readyState', 'ended');
debug("*** construct new 'empty' stream2")
- stream2 = new webkitMediaStream();
+ stream2 = new MediaStream();
shouldBe('stream2.getTracks().length', '0');
shouldBe('stream2.active', 'false');
Modified: trunk/LayoutTests/fast/mediastream/MediaStream-add-tracks-to-inactive-stream.html (192483 => 192484)
--- trunk/LayoutTests/fast/mediastream/MediaStream-add-tracks-to-inactive-stream.html 2015-11-16 20:50:55 UTC (rev 192483)
+++ trunk/LayoutTests/fast/mediastream/MediaStream-add-tracks-to-inactive-stream.html 2015-11-16 22:04:32 UTC (rev 192484)
@@ -21,7 +21,7 @@
function createStreamAndAddTracks()
{
- stream2 = new webkitMediaStream();
+ stream2 = new MediaStream();
debug("MediaStream without tracks created.");
shouldBe('stream2.getAudioTracks().length', '0');
audioTrack = stream1.getAudioTracks()[0];
Modified: trunk/LayoutTests/fast/mediastream/MediaStream-construct-with-ended-tracks.html (192483 => 192484)
--- trunk/LayoutTests/fast/mediastream/MediaStream-construct-with-ended-tracks.html 2015-11-16 20:50:55 UTC (rev 192483)
+++ trunk/LayoutTests/fast/mediastream/MediaStream-construct-with-ended-tracks.html 2015-11-16 22:04:32 UTC (rev 192484)
@@ -29,12 +29,12 @@
var tracksArray = [];
tracksArray.push(videoTrack);
tracksArray.push(audioTrack);
- newMediaStream = new webkitMediaStream(tracksArray);
+ newMediaStream = new MediaStream(tracksArray);
shouldEvaluateTo('newMediaStream.active', false);
shouldNotBe('mediaStream.id', 'newMediaStream.id');
- mediaStreamCopy = new webkitMediaStream(newMediaStream);
+ mediaStreamCopy = new MediaStream(newMediaStream);
shouldEvaluateTo('mediaStreamCopy.active', false);
shouldNotBe('mediaStreamCopy.id', 'newMediaStream.id');
Modified: trunk/LayoutTests/fast/mediastream/MediaStreamConstructor-expected.txt (192483 => 192484)
--- trunk/LayoutTests/fast/mediastream/MediaStreamConstructor-expected.txt 2015-11-16 20:50:55 UTC (rev 192483)
+++ trunk/LayoutTests/fast/mediastream/MediaStreamConstructor-expected.txt 2015-11-16 22:04:32 UTC (rev 192484)
@@ -1,4 +1,4 @@
-Tests webkitMediaStream.
+Tests MediaStream.
On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
@@ -6,75 +6,75 @@
PASS Got local stream.
PASS localStream.getAudioTracks().length is 1
PASS localStream.getVideoTracks().length is 1
-PASS typeof webkitMediaStream === 'object' is true
+PASS typeof MediaStream === 'object' is true
PASS checkIdAttribute(localStream.id) is true
-PASS new webkitMediaStream(document) threw exception TypeError: Type error.
-PASS new webkitMediaStream([document]) threw exception TypeError: Invalid Array element type.
-PASS new webkitMediaStream([stream.getAudioTracks()[0], document]) threw exception TypeError: Invalid Array element type.
-PASS new webkitMediaStream([null]) threw exception TypeError: Invalid Array element type.
-PASS new webkitMediaStream([undefined]) threw exception TypeError: Invalid Array element type.
-PASS new webkitMediaStream(null) threw exception TypeError: Type error.
-PASS new webkitMediaStream(undefined) threw exception TypeError: Type error.
+PASS new MediaStream(document) threw exception TypeError: Type error.
+PASS new MediaStream([document]) threw exception TypeError: Invalid Array element type.
+PASS new MediaStream([stream.getAudioTracks()[0], document]) threw exception TypeError: Invalid Array element type.
+PASS new MediaStream([null]) threw exception TypeError: Invalid Array element type.
+PASS new MediaStream([undefined]) threw exception TypeError: Invalid Array element type.
+PASS new MediaStream(null) threw exception TypeError: Type error.
+PASS new MediaStream(undefined) threw exception TypeError: Type error.
-*** testing "new webkitMediaStream()"
+*** testing "new MediaStream()"
PASS Stream constructed
-PASS [object webkitMediaStream] is non-null.
-PASS [object webkitMediaStream] is defined.
-PASS newStream.constructor.toString() is '[object webkitMediaStreamConstructor]'
+PASS [object MediaStream] is non-null.
+PASS [object MediaStream] is defined.
+PASS newStream.constructor.toString() is '[object MediaStreamConstructor]'
PASS newStream.getAudioTracks().length is nAudio
PASS newStream.getVideoTracks().length is nVideo
PASS checkIdAttribute(newStream.id) is true
-*** testing "new webkitMediaStream([])"
+*** testing "new MediaStream([])"
PASS Stream constructed
-PASS [object webkitMediaStream] is non-null.
-PASS [object webkitMediaStream] is defined.
-PASS newStream.constructor.toString() is '[object webkitMediaStreamConstructor]'
+PASS [object MediaStream] is non-null.
+PASS [object MediaStream] is defined.
+PASS newStream.constructor.toString() is '[object MediaStreamConstructor]'
PASS newStream.getAudioTracks().length is nAudio
PASS newStream.getVideoTracks().length is nVideo
PASS checkIdAttribute(newStream.id) is true
-*** testing "new webkitMediaStream(stream)"
+*** testing "new MediaStream(stream)"
PASS Stream constructed
-PASS [object webkitMediaStream] is non-null.
-PASS [object webkitMediaStream] is defined.
-PASS newStream.constructor.toString() is '[object webkitMediaStreamConstructor]'
+PASS [object MediaStream] is non-null.
+PASS [object MediaStream] is defined.
+PASS newStream.constructor.toString() is '[object MediaStreamConstructor]'
PASS newStream.getAudioTracks().length is nAudio
PASS newStream.getVideoTracks().length is nVideo
PASS checkIdAttribute(newStream.id) is true
-*** testing "new webkitMediaStream([stream.getAudioTracks()[0]])"
+*** testing "new MediaStream([stream.getAudioTracks()[0]])"
PASS Stream constructed
-PASS [object webkitMediaStream] is non-null.
-PASS [object webkitMediaStream] is defined.
-PASS newStream.constructor.toString() is '[object webkitMediaStreamConstructor]'
+PASS [object MediaStream] is non-null.
+PASS [object MediaStream] is defined.
+PASS newStream.constructor.toString() is '[object MediaStreamConstructor]'
PASS newStream.getAudioTracks().length is nAudio
PASS newStream.getVideoTracks().length is nVideo
PASS checkIdAttribute(newStream.id) is true
-*** testing "new webkitMediaStream([stream.getVideoTracks()[0]])"
+*** testing "new MediaStream([stream.getVideoTracks()[0]])"
PASS Stream constructed
-PASS [object webkitMediaStream] is non-null.
-PASS [object webkitMediaStream] is defined.
-PASS newStream.constructor.toString() is '[object webkitMediaStreamConstructor]'
+PASS [object MediaStream] is non-null.
+PASS [object MediaStream] is defined.
+PASS newStream.constructor.toString() is '[object MediaStreamConstructor]'
PASS newStream.getAudioTracks().length is nAudio
PASS newStream.getVideoTracks().length is nVideo
PASS checkIdAttribute(newStream.id) is true
-*** testing "new webkitMediaStream([stream.getAudioTracks()[0], stream.getVideoTracks()[0]])"
+*** testing "new MediaStream([stream.getAudioTracks()[0], stream.getVideoTracks()[0]])"
PASS Stream constructed
-PASS [object webkitMediaStream] is non-null.
-PASS [object webkitMediaStream] is defined.
-PASS newStream.constructor.toString() is '[object webkitMediaStreamConstructor]'
+PASS [object MediaStream] is non-null.
+PASS [object MediaStream] is defined.
+PASS newStream.constructor.toString() is '[object MediaStreamConstructor]'
PASS newStream.getAudioTracks().length is nAudio
PASS newStream.getVideoTracks().length is nVideo
PASS checkIdAttribute(newStream.id) is true
-*** testing "new webkitMediaStream([stream.getVideoTracks()[0], stream.getAudioTracks()[0], stream.getVideoTracks()[0]])"
+*** testing "new MediaStream([stream.getVideoTracks()[0], stream.getAudioTracks()[0], stream.getVideoTracks()[0]])"
PASS Stream constructed
-PASS [object webkitMediaStream] is non-null.
-PASS [object webkitMediaStream] is defined.
-PASS newStream.constructor.toString() is '[object webkitMediaStreamConstructor]'
+PASS [object MediaStream] is non-null.
+PASS [object MediaStream] is defined.
+PASS newStream.constructor.toString() is '[object MediaStreamConstructor]'
PASS newStream.getAudioTracks().length is nAudio
PASS newStream.getVideoTracks().length is nVideo
PASS checkIdAttribute(newStream.id) is true
Modified: trunk/LayoutTests/fast/mediastream/MediaStreamConstructor.html (192483 => 192484)
--- trunk/LayoutTests/fast/mediastream/MediaStreamConstructor.html 2015-11-16 20:50:55 UTC (rev 192483)
+++ trunk/LayoutTests/fast/mediastream/MediaStreamConstructor.html 2015-11-16 22:04:32 UTC (rev 192484)
@@ -8,7 +8,7 @@
<p id="description"></p>
<div id="console"></div>
<script>
- description("Tests webkitMediaStream.");
+ description("Tests MediaStream.");
var undefined;
var stream;
@@ -47,30 +47,30 @@
shouldBe('localStream.getAudioTracks().length', '1');
shouldBe('localStream.getVideoTracks().length', '1');
- shouldBeTrue("typeof webkitMediaStream === 'object'");
+ shouldBeTrue("typeof MediaStream === 'object'");
shouldBeTrue('checkIdAttribute(localStream.id)');
testConstructor(localStream);
}
function testConstructor(s) {
stream = s;
- shouldThrow('new webkitMediaStream(document)');
- shouldThrow('new webkitMediaStream([document])');
- shouldThrow('new webkitMediaStream([stream.getAudioTracks()[0], document])');
- shouldThrow('new webkitMediaStream([null])');
- shouldThrow('new webkitMediaStream([undefined])');
- shouldThrow('new webkitMediaStream(null)');
- shouldThrow('new webkitMediaStream(undefined)');
+ shouldThrow('new MediaStream(document)');
+ shouldThrow('new MediaStream([document])');
+ shouldThrow('new MediaStream([stream.getAudioTracks()[0], document])');
+ shouldThrow('new MediaStream([null])');
+ shouldThrow('new MediaStream([undefined])');
+ shouldThrow('new MediaStream(null)');
+ shouldThrow('new MediaStream(undefined)');
- verifyStream("new webkitMediaStream()", 0, 0);
- verifyStream("new webkitMediaStream([])", 0, 0);
+ verifyStream("new MediaStream()", 0, 0);
+ verifyStream("new MediaStream([])", 0, 0);
- verifyStream("new webkitMediaStream(stream)", s.getAudioTracks().length, s.getVideoTracks().length);
+ verifyStream("new MediaStream(stream)", s.getAudioTracks().length, s.getVideoTracks().length);
- verifyStream("new webkitMediaStream([stream.getAudioTracks()[0]])", 1, 0);
- verifyStream("new webkitMediaStream([stream.getVideoTracks()[0]])", 0, 1);
- verifyStream("new webkitMediaStream([stream.getAudioTracks()[0], stream.getVideoTracks()[0]])", 1, 1);
- verifyStream("new webkitMediaStream([stream.getVideoTracks()[0], stream.getAudioTracks()[0], stream.getVideoTracks()[0]])", 1, 1);
+ verifyStream("new MediaStream([stream.getAudioTracks()[0]])", 1, 0);
+ verifyStream("new MediaStream([stream.getVideoTracks()[0]])", 0, 1);
+ verifyStream("new MediaStream([stream.getAudioTracks()[0], stream.getVideoTracks()[0]])", 1, 1);
+ verifyStream("new MediaStream([stream.getVideoTracks()[0], stream.getAudioTracks()[0], stream.getVideoTracks()[0]])", 1, 1);
finishJSTest();
}
@@ -84,7 +84,7 @@
testPassed('Stream constructed');
shouldBeNonNull(newStream);
shouldBeDefined(newStream);
- shouldBe("newStream.constructor.toString()", "'[object webkitMediaStreamConstructor]'");
+ shouldBe("newStream.constructor.toString()", "'[object MediaStreamConstructor]'");
shouldBe('newStream.getAudioTracks().length', 'nAudio');
shouldBe('newStream.getVideoTracks().length', 'nVideo');
Modified: trunk/LayoutTests/fast/mediastream/MediaStreamTrack-onended.html (192483 => 192484)
--- trunk/LayoutTests/fast/mediastream/MediaStreamTrack-onended.html 2015-11-16 20:50:55 UTC (rev 192483)
+++ trunk/LayoutTests/fast/mediastream/MediaStreamTrack-onended.html 2015-11-16 22:04:32 UTC (rev 192484)
@@ -36,7 +36,7 @@
function gotStream2(s) {
debug("");
testPassed('gotStream2 was called.');
- stream = new webkitMediaStream(s);
+ stream = new MediaStream(s);
track = stream.getAudioTracks()[0];
trackClone = track.clone();
shouldBeFalse('track.readyState == "ended"');
Modified: trunk/LayoutTests/platform/mac/TestExpectations (192483 => 192484)
--- trunk/LayoutTests/platform/mac/TestExpectations 2015-11-16 20:50:55 UTC (rev 192483)
+++ trunk/LayoutTests/platform/mac/TestExpectations 2015-11-16 22:04:32 UTC (rev 192484)
@@ -149,11 +149,35 @@
# X-Content-Type-Options (ENABLE_NOSNIFF) is not enabled.
webkit.org/b/136452 http/tests/security/contentTypeOptions
-# Media Stream API is not yet enabled.
-fast/mediastream
-fast/events/constructors/media-stream-event-constructor.html
-http/tests/media/media-stream
+# Media Stream API is not fully supported.
+fast/mediastream/MediaStream-add-remove-tracks.html
+fast/mediastream/MediaStream-add-ended-tracks.html
+fast/mediastream/MediaStream-MediaElement-srcObject.html
+fast/mediastream/MediaStreamTrack-onended.html
+fast/mediastream/MediaStreamTrack.html
+# WebRTC is not supported yet.
+fast/mediastream/RTCPeerConnection-AddRemoveStream.html
+fast/mediastream/RTCPeerConnection-createAnswer.html
+fast/mediastream/RTCPeerConnection-createOffer.html
+fast/mediastream/RTCPeerConnection-datachannel.html
+fast/mediastream/RTCPeerConnection-dtmf.html
+fast/mediastream/RTCPeerConnection-events.html
+fast/mediastream/RTCPeerConnection-getConfiguration.html
+fast/mediastream/RTCPeerConnection-have-local-offer.html
+fast/mediastream/RTCPeerConnection-have-local-pranswer.html
+fast/mediastream/RTCPeerConnection-have-remote-offer.html
+fast/mediastream/RTCPeerConnection-have-remote-pranswer.html
+fast/mediastream/RTCPeerConnection-ice.html
+fast/mediastream/RTCPeerConnection-localDescription.html
+fast/mediastream/RTCPeerConnection-onnegotiationneeded.html
+fast/mediastream/RTCPeerConnection-remoteDescription.html
+fast/mediastream/RTCPeerConnection-stats.html
+fast/mediastream/RTCPeerConnection-statsSelector.html
+fast/mediastream/RTCPeerConnection-stable.html
+fast/mediastream/RTCPeerConnection-state.html
+fast/mediastream/RTCPeerConnection.html
+
# Asserts in debug.
[ Debug ] fast/images/large-size-image-crash.html [ Skip ]
Modified: trunk/LayoutTests/platform/mac-wk1/TestExpectations (192483 => 192484)
--- trunk/LayoutTests/platform/mac-wk1/TestExpectations 2015-11-16 20:50:55 UTC (rev 192483)
+++ trunk/LayoutTests/platform/mac-wk1/TestExpectations 2015-11-16 22:04:32 UTC (rev 192484)
@@ -86,6 +86,10 @@
# WK1 and WK2 mousemove events are subtly different in ways that break this test on WK1.
fast/events/ghostly-mousemoves-in-subframe.html [ Skip ]
+# Media Stream API testing is not supported for WK1 yet.
+fast/mediastream
+http/tests/media/media-stream
+
# Disable snapshotting tests on WK1 only
plugins/snapshotting