Chromium Code Reviews| Index: third_party/WebKit/LayoutTests/media/video-srcobject-mediastream-src-file.html |
| diff --git a/third_party/WebKit/LayoutTests/media/video-srcobject-mediastream-src-file.html b/third_party/WebKit/LayoutTests/media/video-srcobject-mediastream-src-file.html |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..27b3445d8308053d7da797d8edcaef84f6e3e794 |
| --- /dev/null |
| +++ b/third_party/WebKit/LayoutTests/media/video-srcobject-mediastream-src-file.html |
| @@ -0,0 +1,56 @@ |
| +<!DOCTYPE HTML> |
| +<html> |
| +<body> |
| + <video id="testVideo" autoplay="autoplay"></video> |
| + <div id="log"></div> |
|
philipj_slow
2016/04/06 11:58:41
You typically don't need to include this, it'll be
Guido Urdaneta
2016/04/06 16:34:54
Done.
|
| + <p>Test that setting the HTMLMediaElement.srcObject overrides setting the |
| + src attribute and if the srcObject is set to null, media is reloaded from |
| + the src attribute.</p> |
| + <script src="../resources/testharness.js"></script> |
| + <script src="../resources/testharnessreport.js"></script> |
| + <script src="./w3c-media-utils.js"></script> |
| + <script> |
| + var test = async_test("srcObject test"); |
| + var video = document.getElementById("testVideo"); |
|
philipj_slow
2016/04/06 11:58:41
You can skip the id and just use document.querySel
Guido Urdaneta
2016/04/06 16:34:54
Done.
|
| + var trackevent = "playing"; |
|
philipj_slow
2016/04/06 11:58:41
Just inline "playing" everywhere?
Guido Urdaneta
2016/04/06 16:34:54
Done. Using onplaying instead.
|
| + |
| + function startTest() |
| + { |
| + test.step(() => assert_idl_attribute(video, "srcObject")); |
| + video.addEventListener(trackevent, playingFileFromSrc) |
| + video.src = getVideoURI("test"); |
|
philipj_slow
2016/04/06 11:58:41
It'd be more clear if you set src and srcObject at
Guido Urdaneta
2016/04/06 16:34:54
Done.
|
| + } |
| + |
| + function playingFileFromSrc() |
| + { |
| + video.removeEventListener(trackevent, playingFileFromSrc); |
| + video.addEventListener(trackevent, playingSrcObject); |
| + test.step(_ => assert_equals(video.srcObject, null)); |
| + test.step(_ => assert_equals(video.currentSrc, video.src)); |
| + navigator.webkitGetUserMedia( |
| + {video:true}, |
| + stream => video.srcObject = stream, |
| + _ => test.step(() => assert_unreached("Did not get mediastream"))); |
| + } |
| + |
| + function playingSrcObject() |
| + { |
| + video.removeEventListener(trackevent, playingSrcObject) |
| + video.addEventListener(trackevent, playingFileAfterSrcObjectRemoved) |
| + test.step(() => assert_not_equals(video.srcObject, null)); |
| + test.step(() => assert_class_string(video.srcObject, "MediaStream")); |
| + test.step(() => assert_equals(video.currentSrc, "")); |
| + video.srcObject = null; |
| + } |
| + |
| + function playingFileAfterSrcObjectRemoved() |
| + { |
| + test.step(() => assert_equals(video.srcObject, null)); |
| + test.step(() => assert_equals(video.currentSrc, video.src)); |
| + test.done(); |
| + } |
| + |
| + test.step(startTest); |
| + </script> |
| + </body> |
| +</html> |