further reorganization in subdirectories matching spec sections
authorDominique Hazael-Massieux <dom@w3.org>
Fri, 07 Jun 2013 20:23:27 +0900
changeset 78 bff9ea5af509
parent 77 f32d432459ab
child 79 f3d44d4cff69
further reorganization in subdirectories matching spec sections
submitted/W3C/api-present.html
submitted/W3C/audiostreamtrack.html
submitted/W3C/deny.html
submitted/W3C/empty-option-param.html
submitted/W3C/getusermedia-impossible-constraint.html
submitted/W3C/getusermedia-optional-constraint.html
submitted/W3C/getusermedia-trivial-constraint.html
submitted/W3C/mediastreams-as-media-elements/video-assignment.html
submitted/W3C/mediastreamtrack-init.html
submitted/W3C/obtaining-local-multimedia-content/navigatorusermedia/api-present.html
submitted/W3C/obtaining-local-multimedia-content/navigatorusermedia/deny.html
submitted/W3C/obtaining-local-multimedia-content/navigatorusermedia/empty-option-param.html
submitted/W3C/obtaining-local-multimedia-content/navigatorusermedia/getusermedia-impossible-constraint.html
submitted/W3C/obtaining-local-multimedia-content/navigatorusermedia/getusermedia-optional-constraint.html
submitted/W3C/obtaining-local-multimedia-content/navigatorusermedia/getusermedia-trivial-constraint.html
submitted/W3C/obtaining-local-multimedia-content/navigatorusermedia/unknownkey-option-param.html
submitted/W3C/stream-api/introduction/disabled-audio-silence.html
submitted/W3C/stream-api/introduction/disabled-video-black.html
submitted/W3C/stream-api/mediastream/audio.html
submitted/W3C/stream-api/mediastream/mediastream-addtrack.html
submitted/W3C/stream-api/mediastream/mediastream-finished-add.html
submitted/W3C/stream-api/mediastream/mediastream-gettrackid.html
submitted/W3C/stream-api/mediastream/mediastream-id.html
submitted/W3C/stream-api/mediastream/mediastream-removetrack.html
submitted/W3C/stream-api/mediastream/stream-ended.html
submitted/W3C/stream-api/mediastream/video.html
submitted/W3C/stream-api/mediastreamtrack/mediastreamtrack-end.html
submitted/W3C/stream-api/mediastreamtrack/mediastreamtrack-init.html
submitted/W3C/stream-api/video-and-audio-tracks/audiostreamtrack.html
submitted/W3C/stream-api/video-and-audio-tracks/videostreamtrack.html
submitted/W3C/unknownkey-option-param.html
submitted/W3C/video-assignment.html
submitted/W3C/videostreamtrack.html
--- a/submitted/W3C/api-present.html	Fri Jun 07 20:07:28 2013 +0900
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,24 +0,0 @@
-<!doctype html>
-<html>
-<head>
-<title>getUserMedia: test that getUserMedia is present (with or without vendor prefix)</title>
-<link rel="author" title="Dominique Hazael-Massieux" href="mailto:[email protected]"/>
-<link rel="help" href="http://dev.w3.org/2011/webrtc/editor/getusermedia.html#navigatorusermedia">
-<meta name='assert' content='Check that the getUserMedia() method is present.'/>
-<meta name='flags' content='vendor-prefix, dom'/>
-<link rel='stylesheet' href='/resources/testharness.css' media='all'/>
-</head>
-<body>
-<h1>Description</h1>
-<p>This test checks for the presence of the <code>navigator.getUserMedia</code> method, taking vendor prefixes into account.</p>
-    <div id='log'></div>
-<script src=/resources/testharness.js></script>
-<script src=/resources/testharnessreport.js></script>
-<script src=featuredetection.js></script>
-<script>
-test(function () {
-          assert_true(undefined !== BrowserHasFeature(navigator, "getUserMedia"), "navigator.getUserMedia exists");
-      }, "getUserMedia() is present on navigator");
-</script>
-</body>
-</html>
--- a/submitted/W3C/audiostreamtrack.html	Fri Jun 07 20:07:28 2013 +0900
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,27 +0,0 @@
-<!doctype html>
-<html>
-<head>
-<title>AudioStreamTrack is defined</title>
-<link rel="author" title="Dominique Hazael-Massieux" href="mailto:[email protected]"/>
-<link rel="help" href="http://dev.w3.org/2011/webrtc/editor/getusermedia.html#navigatorusermedia">
-<link rel='stylesheet' href='/resources/testharness.css' media='all'/>
-</head>
-<body>
-
-<h1>Description</h1>
-<p>This test verifies the availability of the AudioStreamTrack interface.</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>
-var idl_array = new IdlArray();
-idl_array.add_idls("[Constructor(optional MediaTrackConstraints audioConstraints)]\
-interface AudioStreamTrack : MediaStreamTrack {\
-    static sequence<DOMString> getSourceIds ();\
-};");
-idl_array.test();
-</script>
-</body>
-</html>
--- a/submitted/W3C/deny.html	Fri Jun 07 20:07:28 2013 +0900
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,34 +0,0 @@
-<!doctype html>
-<html>
-<head>
-  <title>getUserMedia() triggers error callback when auth is denied</title>
-<link rel="author" title="Dominique Hazael-Massieux" href="mailto:[email protected]"/>
-<link rel="help" href="http://dev.w3.org/2011/webrtc/editor/getusermedia.html#navigatorusermedia">
-<link rel='stylesheet' href='/resources/testharness.css' media='all'/>
-</head>
-<body>
-<p>When prompted, <strong>please deny</strong> access to the video stream.</p>
-<h1>Description</h1>
-<p>This test checks that the error callback is triggered when user denies access to the video stream.</p>
-
-<div id='log'></div>
-<script src=/resources/testharness.js></script>
-<script src=/resources/testharnessreport.js></script>
-<script src=featuredetection.js></script>
-<script src=prefix.js></script>
-<script>
-var t = async_test("Tests that the error callback is triggered when permission is denied", {timeout:10000});
-t.step(function() {
-  navigator.getUserMedia({video: true}, t.step_func(function (stream) {
-    assert_unreached("The success callback should not be triggered since access is to be denied");
-    t.done();
-  }),
-  t.step_func(function (error) {
-    assert_equals(error.name, "PermissionDenied", "Permission denied error returned"); // see https://www.w3.org/Bugs/Public/show_bug.cgi?id=22216
-    assert_equals(error.constraintName, null, "constraintName attribute not set for permission denied");    
-    t.done();
-  }));
-});
-</script>
-</body>
-</html>
--- a/submitted/W3C/empty-option-param.html	Fri Jun 07 20:07:28 2013 +0900
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,35 +0,0 @@
-<!doctype html>
-<html>
-<head>
-<title>getUserMedia({}) aborts with NOT_SUPPORTED_ERR</title>
-<link rel="author" title="Dominique Hazael-Massieux" href="mailto:[email protected]"/>
-<link rel="help" href="http://dev.w3.org/2011/webrtc/editor/getusermedia.html#navigatorusermedia">
-<link rel='stylesheet' href='/resources/testharness.css' media='all'/>
-</head>
-<body>
-<h1>Description</h1>
-<p>This test checks that getUserMedia with no value in the options parameter raises a NOT_SUPPORTED_ERR exception.</p>
-
-<div id='log'></div>
-<script src=/resources/testharness.js></script>
-<script src=/resources/testharnessreport.js></script>
-<script src=featuredetection.js></script>
-<script src=prefix.js></script>
-<script>
-var t = async_test("Tests that getUserMedia raises a NOT_SUPPORTED_ERR exception when used with an empty options parameter");
-t.step( function () {
-  assert_throws("NOT_SUPPORTED_ERR", 
-    function () { 
-      navigator.getUserMedia({}, function (stream) {
-        assert_unreached("This should never be triggered since the constraints parameter is empty");
-        t.done();
-      }, function (error) {
-        assert_unreached("This should never be triggered since the constraints parameter is empty");
-         });
-  });
-  t.done();
-});
-
-</script>
-</body>
-</html>
--- a/submitted/W3C/getusermedia-impossible-constraint.html	Fri Jun 07 20:07:28 2013 +0900
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,34 +0,0 @@
-<!doctype html>
-<html>
-<head>
-<title>Trivial mandatory constraint in getUserMedia</title>
-<link rel="author" title="Dominique Hazael-Massieux" href="mailto:[email protected]"/>
-<link rel="help" href="http://dev.w3.org/2011/webrtc/editor/getusermedia.html#navigatorusermedia">
-<link rel='stylesheet' href='/resources/testharness.css' media='all'/>
-</head>
-<body>
-<p>When prompted, accept to share your video stream.</p>
-<h1>Description</h1>
-<p>This test checks that setting a trivial mandatory constraint (width &gt;=0) in getUserMedia works</p>
-
-<div id='log'></div>
-<script src=/resources/testharness.js></script>
-<script src=/resources/testharnessreport.js></script>
-<script src=featuredetection.js></script>
-<script src=prefix.js></script>
-<script>
-var t = async_test("Tests that setting a trivial mandatory constraint in getUserMedia works", {timeout:10000});
-t.step(function() {
-  navigator.getUserMedia({video: {mandatory: {width: {min:Infinity}}}}, t.step_func(function (stream) {
-    assert_unreached("a Video stream of infinite width cannot be created");
-    t.done();
-  }), t.step_func(function(error) {
-    console.log(error);
-    assert_equals(error.name, "ContraintNotSatisfied", "An impossible constraint triggers a ContraintNotSatified error");
-    assert_equals(error.constraintName, "width", "The name of the not satisfied error is given in error.constraintName");
-    t.done();
-  }));
-});
-</script>
-</body>
-</html>
--- a/submitted/W3C/getusermedia-optional-constraint.html	Fri Jun 07 20:07:28 2013 +0900
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,32 +0,0 @@
-<!doctype html>
-<html>
-<head>
-<title>Optional constraint recognized as optional in getUserMedia</title>
-<link rel="author" title="Dominique Hazael-Massieux" href="mailto:[email protected]"/>
-<link rel="help" href="http://dev.w3.org/2011/webrtc/editor/getusermedia.html#navigatorusermedia">
-<link rel='stylesheet' href='/resources/testharness.css' media='all'/>
-</head>
-<body>
-<p>When prompted, accept to share your video stream.</p>
-<h1>Description</h1>
-<p>This test checks that setting an optional constraint in getUserMedia is handled as optional</p>
-
-<div id='log'></div>
-<script src=/resources/testharness.js></script>
-<script src=/resources/testharnessreport.js></script>
-<script src=featuredetection.js></script>
-<script src=prefix.js></script>
-<script>
-var t = async_test("Tests that setting an optional constraint in getUserMedia is handled as optional", {timeout:10000});
-t.step(function() {
-  navigator.getUserMedia({video: {optional: [{width: {min:1024}}, {width: {max: 800}}]}}, t.step_func(function (stream) {
-    assert_equals(stream.getVideoTracks().length, 1, "the media stream has exactly one video track");
-    t.done();
-  }), t.step_func(function(error) {
-    assert_unreached("an optional constraint can't prevent the obtention of a video stream");
-    t.done();
-  }));
-});
-</script>
-</body>
-</html>
--- a/submitted/W3C/getusermedia-trivial-constraint.html	Fri Jun 07 20:07:28 2013 +0900
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,32 +0,0 @@
-<!doctype html>
-<html>
-<head>
-<title>Trivial mandatory constraint in getUserMedia</title>
-<link rel="author" title="Dominique Hazael-Massieux" href="mailto:[email protected]"/>
-<link rel="help" href="http://dev.w3.org/2011/webrtc/editor/getusermedia.html#navigatorusermedia">
-<link rel='stylesheet' href='/resources/testharness.css' media='all'/>
-</head>
-<body>
-<p>When prompted, accept to share your video stream.</p>
-<h1>Description</h1>
-<p>This test checks that setting a trivial mandatory constraint (width &gt;=0) in getUserMedia works</p>
-
-<div id='log'></div>
-<script src=/resources/testharness.js></script>
-<script src=/resources/testharnessreport.js></script>
-<script src=featuredetection.js></script>
-<script src=prefix.js></script>
-<script>
-var t = async_test("Tests that setting a trivial mandatory constraint in getUserMedia works", {timeout:10000});
-t.step(function() {
-  navigator.getUserMedia({video: {mandatory: {width: {min:0}}}}, t.step_func(function (stream) {
-    assert_equals(stream.getVideoTracks().length, 1, "the media stream has exactly one video track");
-    t.done();
-  }), t.step_func(function(error) {
-    assert_unreached("a Video stream of minimally zero width can always be created");
-    t.done();
-  }));
-});
-</script>
-</body>
-</html>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/submitted/W3C/mediastreams-as-media-elements/video-assignment.html	Fri Jun 07 20:23:27 2013 +0900
@@ -0,0 +1,65 @@
+<!doctype html>
+<html>
+<head>
+<title>Assigning mediastream to a video element</title>
+<link rel="author" title="Dominique Hazael-Massieux" href="mailto:[email protected]"/>
+<link rel="help" href="http://dev.w3.org/2011/webrtc/editor/getusermedia.html#navigatorusermedia">
+<link rel='stylesheet' href='/resources/testharness.css' media='all'/>
+</head>
+<body>
+<p>When prompted, accept to share your video stream.</p>
+<h1>Description</h1>
+<p>This test checks that the MediaStream object returned by the success callback in getUserMedia can be properly assigned to a video element via the <code>srcObject</code> attribute.</p>
+
+<video id="vid"></video>
+
+<div id='log'></div>
+<script src=/resources/testharness.js></script>
+<script src=/resources/testharnessreport.js></script>
+<script src=../featuredetection.js></script>
+<script src=prefix.js></script>
+<script>
+var vid = document.getElementById("vid");
+var t = async_test("Tests that a MediaStream can be assigned to a video element with srcObject", {timeout: 10000});
+t.step(function() {
+  navigator.getUserMedia({video: true}, t.step_func(function (stream) {
+    // TODO remove when prefixes are gone
+    var srcObjName = FeatureNameInBrowser(vid, "srcObject");
+    var testOncePlaying = function() {
+       assert_equals(vid.played.length, 1, "A MediaStream's timeline always consists of a single range");
+       assert_equals(vid.played.start(0), 0, "A MediaStream's timeline always consists of a single range");
+       assert_equals(vid.played.end(0), vid.currentTime, "A MediaStream's timeline always consists of a single range");
+       assert_equals(vid.readyState, vid.HAVE_ENOUGH_DATA, "Upon selecting a media stream, the UA sets readyState to HAVE_ENOUGH_DATA");
+       var time = vid.currentTime;
+       // not as in spec yet, see https://www.w3.org/Bugs/Public/show_bug.cgi?id=22249
+       assert_throws("INVALID_STATE_ERR", function() {
+          vid.currentTime = 0;
+       });
+       assert_equals(vid.currentTime, time, "The UA MUST ignore attempts to set the currentTime attribute");
+       // TODO add test that duration must be set to currentTime 
+       // when mediastream is destroyed
+       vid.removeEventListener("timeupdate", testOncePlaying, false);
+       t.done();       
+    }
+    vid.addEventListener("timeupdate", t.step_func(testOncePlaying), false);
+    vid[srcObjName] = stream;
+    vid.play();
+    assert_true(!vid.seeking, "A MediaStream is not seekable");
+    assert_equals(vid.seekable.length, 0, "A MediaStream is not seekable");
+    assert_equals(vid.defaultPlaybackRate, 1, "playback rate is always 1");
+    assert_equals(vid.playbackRate, 1, "playback rate is always 1");
+    // TODO re-enable after resolution of see https://www.w3.org/Bugs/Public/show_bug.cgi?id=22247#c1 ?
+    // assert_equals(vid.preload, "none", "A MediaStream cannot be preloaded.");
+    // not as in spec, see https://www.w3.org/Bugs/Public/show_bug.cgi?id=22246
+    assert_equals(vid.buffered.length, 0, "A MediaStream cannot be preloaded.  Therefore, there is no buffered timeranges");
+    assert_equals(vid.duration, Infinity, " A MediaStream does not have a pre-defined duration. ");
+    assert_equals(vid.startDate, NaN, " A MediaStream does not specify a timeline offset");
+    assert_true(!vid.loop, "A MediaStream cannot be looped");
+    vid.loop = true;
+    // not sure about that one https://www.w3.org/Bugs/Public/show_bug.cgi?id=22247
+    //assert_true(!vid.loop, "Setting looped to true in a MediaStream is a no-op");
+  }), function(error) {});
+});
+</script>
+</body>
+</html>
--- a/submitted/W3C/mediastreamtrack-init.html	Fri Jun 07 20:07:28 2013 +0900
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,73 +0,0 @@
-<!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:[email protected]"/>
-<link rel="help" href="http://dev.w3.org/2011/webrtc/editor/getusermedia.html#mediastreamtrack">
-<link rel='stylesheet' href='/resources/testharness.css' media='all'/>
-</head>
-<body>
-<p>When prompted, accept to share your video stream.</p>
-<h1>Description</h1>
-<p>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=featuredetection.js></script>
-<script src=prefix.js></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>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/submitted/W3C/obtaining-local-multimedia-content/navigatorusermedia/api-present.html	Fri Jun 07 20:23:27 2013 +0900
@@ -0,0 +1,24 @@
+<!doctype html>
+<html>
+<head>
+<title>getUserMedia: test that getUserMedia is present (with or without vendor prefix)</title>
+<link rel="author" title="Dominique Hazael-Massieux" href="mailto:[email protected]"/>
+<link rel="help" href="http://dev.w3.org/2011/webrtc/editor/getusermedia.html#navigatorusermedia">
+<meta name='assert' content='Check that the getUserMedia() method is present.'/>
+<meta name='flags' content='vendor-prefix, dom'/>
+<link rel='stylesheet' href='/resources/testharness.css' media='all'/>
+</head>
+<body>
+<h1>Description</h1>
+<p>This test checks for the presence of the <code>navigator.getUserMedia</code> method, taking vendor prefixes into account.</p>
+    <div id='log'></div>
+<script src=/resources/testharness.js></script>
+<script src=/resources/testharnessreport.js></script>
+<script src=../../featuredetection.js></script>
+<script>
+test(function () {
+          assert_true(undefined !== BrowserHasFeature(navigator, "getUserMedia"), "navigator.getUserMedia exists");
+      }, "getUserMedia() is present on navigator");
+</script>
+</body>
+</html>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/submitted/W3C/obtaining-local-multimedia-content/navigatorusermedia/deny.html	Fri Jun 07 20:23:27 2013 +0900
@@ -0,0 +1,34 @@
+<!doctype html>
+<html>
+<head>
+  <title>getUserMedia() triggers error callback when auth is denied</title>
+<link rel="author" title="Dominique Hazael-Massieux" href="mailto:[email protected]"/>
+<link rel="help" href="http://dev.w3.org/2011/webrtc/editor/getusermedia.html#navigatorusermedia">
+<link rel='stylesheet' href='/resources/testharness.css' media='all'/>
+</head>
+<body>
+<p>When prompted, <strong>please deny</strong> access to the video stream.</p>
+<h1>Description</h1>
+<p>This test checks that the error callback is triggered when user denies access to the video stream.</p>
+
+<div id='log'></div>
+<script src=/resources/testharness.js></script>
+<script src=/resources/testharnessreport.js></script>
+<script src=../../featuredetection.js></script>
+<script src=prefix.js></script>
+<script>
+var t = async_test("Tests that the error callback is triggered when permission is denied", {timeout:10000});
+t.step(function() {
+  navigator.getUserMedia({video: true}, t.step_func(function (stream) {
+    assert_unreached("The success callback should not be triggered since access is to be denied");
+    t.done();
+  }),
+  t.step_func(function (error) {
+    assert_equals(error.name, "PermissionDenied", "Permission denied error returned"); // see https://www.w3.org/Bugs/Public/show_bug.cgi?id=22216
+    assert_equals(error.constraintName, null, "constraintName attribute not set for permission denied");    
+    t.done();
+  }));
+});
+</script>
+</body>
+</html>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/submitted/W3C/obtaining-local-multimedia-content/navigatorusermedia/empty-option-param.html	Fri Jun 07 20:23:27 2013 +0900
@@ -0,0 +1,35 @@
+<!doctype html>
+<html>
+<head>
+<title>getUserMedia({}) aborts with NOT_SUPPORTED_ERR</title>
+<link rel="author" title="Dominique Hazael-Massieux" href="mailto:[email protected]"/>
+<link rel="help" href="http://dev.w3.org/2011/webrtc/editor/getusermedia.html#navigatorusermedia">
+<link rel='stylesheet' href='/resources/testharness.css' media='all'/>
+</head>
+<body>
+<h1>Description</h1>
+<p>This test checks that getUserMedia with no value in the options parameter raises a NOT_SUPPORTED_ERR exception.</p>
+
+<div id='log'></div>
+<script src=/resources/testharness.js></script>
+<script src=/resources/testharnessreport.js></script>
+<script src=../../featuredetection.js></script>
+<script src=prefix.js></script>
+<script>
+var t = async_test("Tests that getUserMedia raises a NOT_SUPPORTED_ERR exception when used with an empty options parameter");
+t.step( function () {
+  assert_throws("NOT_SUPPORTED_ERR", 
+    function () { 
+      navigator.getUserMedia({}, function (stream) {
+        assert_unreached("This should never be triggered since the constraints parameter is empty");
+        t.done();
+      }, function (error) {
+        assert_unreached("This should never be triggered since the constraints parameter is empty");
+         });
+  });
+  t.done();
+});
+
+</script>
+</body>
+</html>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/submitted/W3C/obtaining-local-multimedia-content/navigatorusermedia/getusermedia-impossible-constraint.html	Fri Jun 07 20:23:27 2013 +0900
@@ -0,0 +1,34 @@
+<!doctype html>
+<html>
+<head>
+<title>Trivial mandatory constraint in getUserMedia</title>
+<link rel="author" title="Dominique Hazael-Massieux" href="mailto:[email protected]"/>
+<link rel="help" href="http://dev.w3.org/2011/webrtc/editor/getusermedia.html#navigatorusermedia">
+<link rel='stylesheet' href='/resources/testharness.css' media='all'/>
+</head>
+<body>
+<p>When prompted, accept to share your video stream.</p>
+<h1>Description</h1>
+<p>This test checks that setting a trivial mandatory constraint (width &gt;=0) in getUserMedia works</p>
+
+<div id='log'></div>
+<script src=/resources/testharness.js></script>
+<script src=/resources/testharnessreport.js></script>
+<script src=../../featuredetection.js></script>
+<script src=prefix.js></script>
+<script>
+var t = async_test("Tests that setting a trivial mandatory constraint in getUserMedia works", {timeout:10000});
+t.step(function() {
+  navigator.getUserMedia({video: {mandatory: {width: {min:Infinity}}}}, t.step_func(function (stream) {
+    assert_unreached("a Video stream of infinite width cannot be created");
+    t.done();
+  }), t.step_func(function(error) {
+    console.log(error);
+    assert_equals(error.name, "ContraintNotSatisfied", "An impossible constraint triggers a ContraintNotSatified error");
+    assert_equals(error.constraintName, "width", "The name of the not satisfied error is given in error.constraintName");
+    t.done();
+  }));
+});
+</script>
+</body>
+</html>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/submitted/W3C/obtaining-local-multimedia-content/navigatorusermedia/getusermedia-optional-constraint.html	Fri Jun 07 20:23:27 2013 +0900
@@ -0,0 +1,32 @@
+<!doctype html>
+<html>
+<head>
+<title>Optional constraint recognized as optional in getUserMedia</title>
+<link rel="author" title="Dominique Hazael-Massieux" href="mailto:[email protected]"/>
+<link rel="help" href="http://dev.w3.org/2011/webrtc/editor/getusermedia.html#navigatorusermedia">
+<link rel='stylesheet' href='/resources/testharness.css' media='all'/>
+</head>
+<body>
+<p>When prompted, accept to share your video stream.</p>
+<h1>Description</h1>
+<p>This test checks that setting an optional constraint in getUserMedia is handled as optional</p>
+
+<div id='log'></div>
+<script src=/resources/testharness.js></script>
+<script src=/resources/testharnessreport.js></script>
+<script src=../../featuredetection.js></script>
+<script src=prefix.js></script>
+<script>
+var t = async_test("Tests that setting an optional constraint in getUserMedia is handled as optional", {timeout:10000});
+t.step(function() {
+  navigator.getUserMedia({video: {optional: [{width: {min:1024}}, {width: {max: 800}}]}}, t.step_func(function (stream) {
+    assert_equals(stream.getVideoTracks().length, 1, "the media stream has exactly one video track");
+    t.done();
+  }), t.step_func(function(error) {
+    assert_unreached("an optional constraint can't prevent the obtention of a video stream");
+    t.done();
+  }));
+});
+</script>
+</body>
+</html>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/submitted/W3C/obtaining-local-multimedia-content/navigatorusermedia/getusermedia-trivial-constraint.html	Fri Jun 07 20:23:27 2013 +0900
@@ -0,0 +1,32 @@
+<!doctype html>
+<html>
+<head>
+<title>Trivial mandatory constraint in getUserMedia</title>
+<link rel="author" title="Dominique Hazael-Massieux" href="mailto:[email protected]"/>
+<link rel="help" href="http://dev.w3.org/2011/webrtc/editor/getusermedia.html#navigatorusermedia">
+<link rel='stylesheet' href='/resources/testharness.css' media='all'/>
+</head>
+<body>
+<p>When prompted, accept to share your video stream.</p>
+<h1>Description</h1>
+<p>This test checks that setting a trivial mandatory constraint (width &gt;=0) in getUserMedia works</p>
+
+<div id='log'></div>
+<script src=/resources/testharness.js></script>
+<script src=/resources/testharnessreport.js></script>
+<script src=../../featuredetection.js></script>
+<script src=prefix.js></script>
+<script>
+var t = async_test("Tests that setting a trivial mandatory constraint in getUserMedia works", {timeout:10000});
+t.step(function() {
+  navigator.getUserMedia({video: {mandatory: {width: {min:0}}}}, t.step_func(function (stream) {
+    assert_equals(stream.getVideoTracks().length, 1, "the media stream has exactly one video track");
+    t.done();
+  }), t.step_func(function(error) {
+    assert_unreached("a Video stream of minimally zero width can always be created");
+    t.done();
+  }));
+});
+</script>
+</body>
+</html>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/submitted/W3C/obtaining-local-multimedia-content/navigatorusermedia/unknownkey-option-param.html	Fri Jun 07 20:23:27 2013 +0900
@@ -0,0 +1,30 @@
+<!doctype html>
+<html>
+<head>
+<title>getUserMedia({doesnotexist:true}) aborts with NOT_SUPPORTED_ERR</title>
+<link rel="author" title="Dominique Hazael-Massieux" href="mailto:[email protected]"/>
+<link rel="help" href="http://dev.w3.org/2011/webrtc/editor/getusermedia.html#navigatorusermedia">
+<link rel='stylesheet' href='/resources/testharness.css' media='all'/>
+</head>
+<body>
+<h1>Description</h1>
+<p>This test checks that getUserMedia with an unknown value in the options parameter raises a NOT_SUPPORTED_ERR exception.</p>
+
+<div id='log'></div>
+<script src=/resources/testharness.js></script>
+<script src=/resources/testharnessreport.js></script>
+<script src=../../featuredetection.js></script>
+<script src=prefix.js></script>
+<script>
+test(function () {
+  assert_throws("NOT_SUPPORTED_ERR", 
+    function () { 
+      navigator.getUserMedia({doesnotexist:true}, function (stream) {}, function (error) {});
+    }
+  )
+  }
+);
+
+</script>
+</body>
+</html>
--- a/submitted/W3C/stream-api/introduction/disabled-audio-silence.html	Fri Jun 07 20:07:28 2013 +0900
+++ b/submitted/W3C/stream-api/introduction/disabled-audio-silence.html	Fri Jun 07 20:23:27 2013 +0900
@@ -14,7 +14,7 @@
 <div id='log'></div>
 <script src=/resources/testharness.js></script>
 <script src=/resources/testharnessreport.js></script>
-<script src=featuredetection.js></script>
+<script src=../../featuredetection.js></script>
 <script src=prefix.js></script>
 <script>
 var t = async_test("Tests that a disabled audio track in a MediaStream is rendered as silence", {timeout: 200000});
--- a/submitted/W3C/stream-api/introduction/disabled-video-black.html	Fri Jun 07 20:07:28 2013 +0900
+++ b/submitted/W3C/stream-api/introduction/disabled-video-black.html	Fri Jun 07 20:23:27 2013 +0900
@@ -15,7 +15,7 @@
 <div id='log'></div>
 <script src=/resources/testharness.js></script>
 <script src=/resources/testharnessreport.js></script>
-<script src=featuredetection.js></script>
+<script src=../../featuredetection.js></script>
 <script src=prefix.js></script>
 <script>
 var vid = document.getElementById("vid");
--- a/submitted/W3C/stream-api/mediastream/audio.html	Fri Jun 07 20:07:28 2013 +0900
+++ b/submitted/W3C/stream-api/mediastream/audio.html	Fri Jun 07 20:23:27 2013 +0900
@@ -14,7 +14,7 @@
 <div id='log'></div>
 <script src=/resources/testharness.js></script>
 <script src=/resources/testharnessreport.js></script>
-<script src=featuredetection.js></script>
+<script src=../../featuredetection.js></script>
 <script src=prefix.js></script>
 <script>
 var astream;
--- a/submitted/W3C/stream-api/mediastream/mediastream-addtrack.html	Fri Jun 07 20:07:28 2013 +0900
+++ b/submitted/W3C/stream-api/mediastream/mediastream-addtrack.html	Fri Jun 07 20:23:27 2013 +0900
@@ -14,7 +14,7 @@
 <div id='log'></div>
 <script src=/resources/testharness.js></script>
 <script src=/resources/testharnessreport.js></script>
-<script src=featuredetection.js></script>
+<script src=../../featuredetection.js></script>
 <script src=prefix.js></script>
 <script>
 var t = async_test("Tests that adding a track to a MediaStream works as expected", {timeout: 20000}); // longer timeout since requires double user interaction
--- a/submitted/W3C/stream-api/mediastream/mediastream-finished-add.html	Fri Jun 07 20:07:28 2013 +0900
+++ b/submitted/W3C/stream-api/mediastream/mediastream-finished-add.html	Fri Jun 07 20:23:27 2013 +0900
@@ -14,7 +14,7 @@
 <div id='log'></div>
 <script src=/resources/testharness.js></script>
 <script src=/resources/testharnessreport.js></script>
-<script src=featuredetection.js></script>
+<script src=../../featuredetection.js></script>
 <script src=prefix.js></script>
 <script>
 var t = async_test("Tests that an addition to a finished MediaStream raises an exception", {timeout:20000});
--- a/submitted/W3C/stream-api/mediastream/mediastream-gettrackid.html	Fri Jun 07 20:07:28 2013 +0900
+++ b/submitted/W3C/stream-api/mediastream/mediastream-gettrackid.html	Fri Jun 07 20:23:27 2013 +0900
@@ -14,7 +14,7 @@
 <div id='log'></div>
 <script src=/resources/testharness.js></script>
 <script src=/resources/testharnessreport.js></script>
-<script src=featuredetection.js></script>
+<script src=../../featuredetection.js></script>
 <script src=prefix.js></script>
 <script>
 var t = async_test("Tests that MediaStream.getTrackById works as expected", {timeout: 10000});
--- a/submitted/W3C/stream-api/mediastream/mediastream-id.html	Fri Jun 07 20:07:28 2013 +0900
+++ b/submitted/W3C/stream-api/mediastream/mediastream-id.html	Fri Jun 07 20:23:27 2013 +0900
@@ -14,7 +14,7 @@
 <div id='log'></div>
 <script src=/resources/testharness.js></script>
 <script src=/resources/testharnessreport.js></script>
-<script src=featuredetection.js></script>
+<script src=../../featuredetection.js></script>
 <script src=prefix.js></script>
 <script>
 var t = async_test("Tests that a MediaStream with a correct id is returned");
--- a/submitted/W3C/stream-api/mediastream/mediastream-removetrack.html	Fri Jun 07 20:07:28 2013 +0900
+++ b/submitted/W3C/stream-api/mediastream/mediastream-removetrack.html	Fri Jun 07 20:23:27 2013 +0900
@@ -14,7 +14,7 @@
 <div id='log'></div>
 <script src=/resources/testharness.js></script>
 <script src=/resources/testharnessreport.js></script>
-<script src=featuredetection.js></script>
+<script src=../../featuredetection.js></script>
 <script src=prefix.js></script>
 <script>
 var t = async_test("Tests that a removal from a MediaStream works as expected", {timeout:10000});
--- a/submitted/W3C/stream-api/mediastream/stream-ended.html	Fri Jun 07 20:07:28 2013 +0900
+++ b/submitted/W3C/stream-api/mediastream/stream-ended.html	Fri Jun 07 20:23:27 2013 +0900
@@ -14,7 +14,7 @@
 <div id='log'></div>
 <script src=/resources/testharness.js></script>
 <script src=/resources/testharnessreport.js></script>
-<script src=featuredetection.js></script>
+<script src=../../featuredetection.js></script>
 <script src=prefix.js></script>
 <script>
 var t = async_test("Tests that a MediaStream handles ended correctly", {timeout:10000});
--- a/submitted/W3C/stream-api/mediastream/video.html	Fri Jun 07 20:07:28 2013 +0900
+++ b/submitted/W3C/stream-api/mediastream/video.html	Fri Jun 07 20:23:27 2013 +0900
@@ -14,7 +14,7 @@
 <div id='log'></div>
 <script src=/resources/testharness.js></script>
 <script src=/resources/testharnessreport.js></script>
-<script src=featuredetection.js></script>
+<script src=../../featuredetection.js></script>
 <script src=prefix.js></script>
 <script>
 var t = async_test("Tests that a MediaStream with at least one video track is returned");
--- a/submitted/W3C/stream-api/mediastreamtrack/mediastreamtrack-end.html	Fri Jun 07 20:07:28 2013 +0900
+++ b/submitted/W3C/stream-api/mediastreamtrack/mediastreamtrack-end.html	Fri Jun 07 20:23:27 2013 +0900
@@ -14,7 +14,7 @@
 <div id='log'></div>
 <script src=/resources/testharness.js></script>
 <script src=/resources/testharnessreport.js></script>
-<script src=featuredetection.js></script>
+<script src=../../featuredetection.js></script>
 <script src=prefix.js></script>
 <script>
 var t = async_test("Tests that the video MediaStreamTrack objects are properly ended on permission revocation", {timeout: 20000}); // longer timeout since requires user interaction
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/submitted/W3C/stream-api/mediastreamtrack/mediastreamtrack-init.html	Fri Jun 07 20:23:27 2013 +0900
@@ -0,0 +1,73 @@
+<!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:[email protected]"/>
+<link rel="help" href="http://dev.w3.org/2011/webrtc/editor/getusermedia.html#mediastreamtrack">
+<link rel='stylesheet' href='/resources/testharness.css' media='all'/>
+</head>
+<body>
+<p>When prompted, accept to share your video stream.</p>
+<h1>Description</h1>
+<p>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=../../featuredetection.js></script>
+<script src=prefix.js></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>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/submitted/W3C/stream-api/video-and-audio-tracks/audiostreamtrack.html	Fri Jun 07 20:23:27 2013 +0900
@@ -0,0 +1,27 @@
+<!doctype html>
+<html>
+<head>
+<title>AudioStreamTrack is defined</title>
+<link rel="author" title="Dominique Hazael-Massieux" href="mailto:[email protected]"/>
+<link rel="help" href="http://dev.w3.org/2011/webrtc/editor/getusermedia.html#navigatorusermedia">
+<link rel='stylesheet' href='/resources/testharness.css' media='all'/>
+</head>
+<body>
+
+<h1>Description</h1>
+<p>This test verifies the availability of the AudioStreamTrack interface.</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>
+var idl_array = new IdlArray();
+idl_array.add_idls("[Constructor(optional MediaTrackConstraints audioConstraints)]\
+interface AudioStreamTrack : MediaStreamTrack {\
+    static sequence<DOMString> getSourceIds ();\
+};");
+idl_array.test();
+</script>
+</body>
+</html>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/submitted/W3C/stream-api/video-and-audio-tracks/videostreamtrack.html	Fri Jun 07 20:23:27 2013 +0900
@@ -0,0 +1,27 @@
+<!doctype html>
+<html>
+<head>
+<title>VideoStreamTrack is defined</title>
+<link rel="author" title="Dominique Hazael-Massieux" href="mailto:[email protected]"/>
+<link rel="help" href="http://dev.w3.org/2011/webrtc/editor/getusermedia.html#navigatorusermedia">
+<link rel='stylesheet' href='/resources/testharness.css' media='all'/>
+</head>
+<body>
+
+<h1>Description</h1>
+<p>This test verifies the availability of the VideoStreamTrack interface.</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>
+var idl_array = new IdlArray();
+idl_array.add_idls("[Constructor(optional MediaTrackConstraints videoConstraints)]\
+interface VideoStreamTrack : MediaStreamTrack {\
+    static sequence<DOMString> getSourceIds ();\
+};");
+idl_array.test();
+</script>
+</body>
+</html>
--- a/submitted/W3C/unknownkey-option-param.html	Fri Jun 07 20:07:28 2013 +0900
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,30 +0,0 @@
-<!doctype html>
-<html>
-<head>
-<title>getUserMedia({doesnotexist:true}) aborts with NOT_SUPPORTED_ERR</title>
-<link rel="author" title="Dominique Hazael-Massieux" href="mailto:[email protected]"/>
-<link rel="help" href="http://dev.w3.org/2011/webrtc/editor/getusermedia.html#navigatorusermedia">
-<link rel='stylesheet' href='/resources/testharness.css' media='all'/>
-</head>
-<body>
-<h1>Description</h1>
-<p>This test checks that getUserMedia with an unknown value in the options parameter raises a NOT_SUPPORTED_ERR exception.</p>
-
-<div id='log'></div>
-<script src=/resources/testharness.js></script>
-<script src=/resources/testharnessreport.js></script>
-<script src=featuredetection.js></script>
-<script src=prefix.js></script>
-<script>
-test(function () {
-  assert_throws("NOT_SUPPORTED_ERR", 
-    function () { 
-      navigator.getUserMedia({doesnotexist:true}, function (stream) {}, function (error) {});
-    }
-  )
-  }
-);
-
-</script>
-</body>
-</html>
--- a/submitted/W3C/video-assignment.html	Fri Jun 07 20:07:28 2013 +0900
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,65 +0,0 @@
-<!doctype html>
-<html>
-<head>
-<title>Assigning mediastream to a video element</title>
-<link rel="author" title="Dominique Hazael-Massieux" href="mailto:[email protected]"/>
-<link rel="help" href="http://dev.w3.org/2011/webrtc/editor/getusermedia.html#navigatorusermedia">
-<link rel='stylesheet' href='/resources/testharness.css' media='all'/>
-</head>
-<body>
-<p>When prompted, accept to share your video stream.</p>
-<h1>Description</h1>
-<p>This test checks that the MediaStream object returned by the success callback in getUserMedia can be properly assigned to a video element via the <code>srcObject</code> attribute.</p>
-
-<video id="vid"></video>
-
-<div id='log'></div>
-<script src=/resources/testharness.js></script>
-<script src=/resources/testharnessreport.js></script>
-<script src=featuredetection.js></script>
-<script src=prefix.js></script>
-<script>
-var vid = document.getElementById("vid");
-var t = async_test("Tests that a MediaStream can be assigned to a video element with srcObject", {timeout: 10000});
-t.step(function() {
-  navigator.getUserMedia({video: true}, t.step_func(function (stream) {
-    // TODO remove when prefixes are gone
-    var srcObjName = FeatureNameInBrowser(vid, "srcObject");
-    var testOncePlaying = function() {
-       assert_equals(vid.played.length, 1, "A MediaStream's timeline always consists of a single range");
-       assert_equals(vid.played.start(0), 0, "A MediaStream's timeline always consists of a single range");
-       assert_equals(vid.played.end(0), vid.currentTime, "A MediaStream's timeline always consists of a single range");
-       assert_equals(vid.readyState, vid.HAVE_ENOUGH_DATA, "Upon selecting a media stream, the UA sets readyState to HAVE_ENOUGH_DATA");
-       var time = vid.currentTime;
-       // not as in spec yet, see https://www.w3.org/Bugs/Public/show_bug.cgi?id=22249
-       assert_throws("INVALID_STATE_ERR", function() {
-          vid.currentTime = 0;
-       });
-       assert_equals(vid.currentTime, time, "The UA MUST ignore attempts to set the currentTime attribute");
-       // TODO add test that duration must be set to currentTime 
-       // when mediastream is destroyed
-       vid.removeEventListener("timeupdate", testOncePlaying, false);
-       t.done();       
-    }
-    vid.addEventListener("timeupdate", t.step_func(testOncePlaying), false);
-    vid[srcObjName] = stream;
-    vid.play();
-    assert_true(!vid.seeking, "A MediaStream is not seekable");
-    assert_equals(vid.seekable.length, 0, "A MediaStream is not seekable");
-    assert_equals(vid.defaultPlaybackRate, 1, "playback rate is always 1");
-    assert_equals(vid.playbackRate, 1, "playback rate is always 1");
-    // TODO re-enable after resolution of see https://www.w3.org/Bugs/Public/show_bug.cgi?id=22247#c1 ?
-    // assert_equals(vid.preload, "none", "A MediaStream cannot be preloaded.");
-    // not as in spec, see https://www.w3.org/Bugs/Public/show_bug.cgi?id=22246
-    assert_equals(vid.buffered.length, 0, "A MediaStream cannot be preloaded.  Therefore, there is no buffered timeranges");
-    assert_equals(vid.duration, Infinity, " A MediaStream does not have a pre-defined duration. ");
-    assert_equals(vid.startDate, NaN, " A MediaStream does not specify a timeline offset");
-    assert_true(!vid.loop, "A MediaStream cannot be looped");
-    vid.loop = true;
-    // not sure about that one https://www.w3.org/Bugs/Public/show_bug.cgi?id=22247
-    //assert_true(!vid.loop, "Setting looped to true in a MediaStream is a no-op");
-  }), function(error) {});
-});
-</script>
-</body>
-</html>
--- a/submitted/W3C/videostreamtrack.html	Fri Jun 07 20:07:28 2013 +0900
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,27 +0,0 @@
-<!doctype html>
-<html>
-<head>
-<title>VideoStreamTrack is defined</title>
-<link rel="author" title="Dominique Hazael-Massieux" href="mailto:[email protected]"/>
-<link rel="help" href="http://dev.w3.org/2011/webrtc/editor/getusermedia.html#navigatorusermedia">
-<link rel='stylesheet' href='/resources/testharness.css' media='all'/>
-</head>
-<body>
-
-<h1>Description</h1>
-<p>This test verifies the availability of the VideoStreamTrack interface.</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>
-var idl_array = new IdlArray();
-idl_array.add_idls("[Constructor(optional MediaTrackConstraints videoConstraints)]\
-interface VideoStreamTrack : MediaStreamTrack {\
-    static sequence<DOMString> getSourceIds ();\
-};");
-idl_array.test();
-</script>
-</body>
-</html>