diff options
Diffstat (limited to 'dom/media/tests/mochitest/test_getUserMedia_loadedmetadata.html')
-rw-r--r-- | dom/media/tests/mochitest/test_getUserMedia_loadedmetadata.html | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/dom/media/tests/mochitest/test_getUserMedia_loadedmetadata.html b/dom/media/tests/mochitest/test_getUserMedia_loadedmetadata.html new file mode 100644 index 000000000..d6efac465 --- /dev/null +++ b/dom/media/tests/mochitest/test_getUserMedia_loadedmetadata.html @@ -0,0 +1,39 @@ +<!DOCTYPE HTML> +<html> +<head> + <script type="application/javascript" src="mediaStreamPlayback.js"></script> +</head> +<body> +<pre id="test"> +<script type="application/javascript"> + createHTML({ + title: "getUserMedia in media element should have video dimensions on loadedmetadata", + bug: "1240478" + }); + /** + * Tests that assigning a stream to a media element results in the + * "loadedmetadata" event without having to play() the media element. + * + * Also makes sure that the video size has been set on "loadedmetadata". + */ + runTest(function () { + var v = document.createElement("video"); + document.body.appendChild(v); + v.preload = "metadata"; + + var constraints = {video: true, audio: true}; + return getUserMedia(constraints).then(stream => new Promise(resolve => { + v.srcObject = stream; + v.onloadedmetadata = () => { + isnot(v.videoWidth, 0, "videoWidth shall be set on 'loadedmetadata'"); + isnot(v.videoHeight, 0, "videoHeight shall be set on 'loadedmetadata'"); + resolve(); + }; + }) + .then(() => stream.getTracks().forEach(t => t.stop()))); + }); + +</script> +</pre> +</body> +</html> |