57 lines
1.2 KiB
HTML
57 lines
1.2 KiB
HTML
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<script src="../../resources/js-test-pre.js"></script>
|
|
<script src="resources/getUserMedia-helper.js"></script>
|
|
<script>
|
|
var video;
|
|
var stream;
|
|
|
|
function setStream(stream)
|
|
{
|
|
window.stream = stream;
|
|
shouldNotThrow('video.srcObject = stream');
|
|
video.addEventListener('loadedmetadata', loadedMetadata);
|
|
}
|
|
|
|
function loadedMetadata(event)
|
|
{
|
|
shouldBe('video.duration', 'Number.POSITIVE_INFINITY');
|
|
video.play().then(clearStream);
|
|
}
|
|
|
|
function clearStream()
|
|
{
|
|
video.addEventListener('abort', abort);
|
|
shouldNotThrow('video.srcObject = null');
|
|
}
|
|
|
|
function abort()
|
|
{
|
|
shouldBe('video.duration', 'Number.NaN');
|
|
finishJSTest();
|
|
}
|
|
|
|
function runTest()
|
|
{
|
|
if (window.testRunner)
|
|
testRunner.setUserMediaPermission(true);
|
|
|
|
video = document.querySelector('#video');
|
|
navigator.mediaDevices.getUserMedia({ video: { }, audio: true })
|
|
.then(setStream)
|
|
.catch(defaultRejectOrCatch);
|
|
}
|
|
|
|
window.addEventListener('load', runTest);
|
|
window.jsTestIsAsync = true;
|
|
window.successfullyParsed = true;
|
|
</script>
|
|
<script src="../../resources/js-test-post.js"></script>
|
|
</head>
|
|
<body>
|
|
<p id="description"></p>
|
|
<div id="console"></div>
|
|
<video id="video"></video>
|
|
</body>
|
|
</html> |