Index: LayoutTests/imported/web-platform-tests/mediacapture-streams/stream-api/mediastreamtrack/mediastreamtrack-init.html |
diff --git a/LayoutTests/imported/web-platform-tests/mediacapture-streams/stream-api/mediastreamtrack/mediastreamtrack-init.html b/LayoutTests/imported/web-platform-tests/mediacapture-streams/stream-api/mediastreamtrack/mediastreamtrack-init.html |
new file mode 100644 |
index 0000000000000000000000000000000000000000..c18ab7ddf179fb210de27cbe925fdb524121f6f8 |
--- /dev/null |
+++ b/LayoutTests/imported/web-platform-tests/mediacapture-streams/stream-api/mediastreamtrack/mediastreamtrack-init.html |
@@ -0,0 +1,77 @@ |
+<!doctype html> |
+<html> |
+<head> |
+<title>getUserMedia({video:true}) creates a stream with a properly initialized video track</title> |
+<link rel="author" title="Dominique Hazael-Massieux" href="mailto:dom@w3.org"/> |
+<link rel="help" href="http://dev.w3.org/2011/webrtc/editor/getusermedia.html#idl-def-MediaStreamTrack"> |
+<link rel="help" href="http://dev.w3.org/2011/webrtc/editor/getusermedia.html#life-cycle-and-media-flow"> |
+<link rel="help" href="http://dev.w3.org/2011/webrtc/editor/getusermedia.html#widl-MediaStreamTrack-kind"> |
+<link rel="help" href="http://dev.w3.org/2011/webrtc/editor/getusermedia.html#widl-MediaStreamTrack-enabled"> |
+<link rel="help" href="http://dev.w3.org/2011/webrtc/editor/getusermedia.html#widl-MediaStreamTrack-readyState"> |
+<link rel='stylesheet' href='../../../../../resources/testharness.css' media='all'/> |
+</head> |
+<body> |
+<p class="instructions" style="display:none">When prompted, accept to share your video stream.</p> |
+<h1 class="instructions" style="display:none">Description</h1> |
+<p class="instructions" style="display:none">This test checks that the video track of MediaStream |
+object returned by the success callback in getUserMedia is correctly initialized.</p> |
+ |
+<div id='log'></div> |
+<script src=../../../../../resources/testharness.js></script> |
+<script src=../../../../../resources/testharnessreport.js></script> |
+<script src=/resources/webidl2/lib/webidl2.js></script> |
+<script src=/resources/idlharness.js></script> |
+<script src="../../../../../resources/vendor-prefix.js" data-prefixed-objects='[{"ancestors":["navigator"], "name":"getUserMedia"}]'></script> |
+<script> |
+var t = async_test("Tests that the video MediaStreamTrack objects are properly initialized", {timeout:10000}); |
+var track = null |
+var idl_array = new IdlArray(); |
+idl_array.add_idls("interface EventTarget {\ |
+ void addEventListener(DOMString type, EventListener? callback, optional boolean capture = false);\ |
+ void removeEventListener(DOMString type, EventListener? callback, optional boolean capture = false);\ |
+ boolean dispatchEvent(Event event);\ |
+};"); |
+ |
+/*idl_array.add_idls("callback interface EventListener {\ |
+ void handleEvent(Event event);\ |
+};");*/ |
+idl_array.add_idls("interface MediaStreamTrack : EventTarget {\ |
+ readonly attribute DOMString kind;\ |
+ readonly attribute DOMString id;\ |
+ readonly attribute DOMString label;\ |
+ attribute boolean enabled;\ |
+ readonly attribute boolean muted;\ |
+ attribute EventHandler onmute;\ |
+ attribute EventHandler onunmute;\ |
+ readonly attribute boolean _readonly;\ |
+ readonly attribute boolean remote;\ |
+ readonly attribute MediaStreamTrackState readyState;\ |
+ attribute EventHandler onstarted;\ |
+ attribute EventHandler onended;\ |
+ static sequence<SourceInfo> getSourceInfos ();\ |
+ MediaTrackConstraints? constraints ();\ |
+ MediaSourceStates states ();\ |
+ (AllVideoCapabilities or AllAudioCapabilities) capabilities ();\ |
+ void applyConstraints (MediaTrackConstraints constraints);\ |
+ attribute EventHandler onoverconstrained;\ |
+ MediaStreamTrack clone ();\ |
+ void stop ();\ |
+};"); |
+ |
+t.step(function () { |
+ navigator.getUserMedia({video: true}, t.step_func(function (stream) { |
+ var videoTracks = stream.getVideoTracks(); |
+ assert_equals(videoTracks.length, 1, "There is exactly one video track in the media stream"); |
+ track = videoTracks[0]; |
+ assert_equals(track.readyState, "live", "The track object is in live state"); |
+ assert_equals(track.kind, "video", "The track object is of video kind"); |
+ assert_true(track.enabled, "The track object is enabed"); // Not clear that this is required by the spec, see https://www.w3.org/Bugs/Public/show_bug.cgi?id=22212 |
+ idl_array.add_objects({MediaStreamTrack: ["track"]}); |
+ idl_array.test(); |
+ |
+ t.done(); |
+ }), function (error) {}); |
+}); |
+</script> |
+</body> |
+</html> |