36 lines
1.1 KiB
HTML
36 lines
1.1 KiB
HTML
<!doctype html>
|
|
<html>
|
|
<head>
|
|
<meta charset="utf-8">
|
|
<title>Testing template video visibility</title>
|
|
<script src="../../resources/testharness.js"></script>
|
|
<script src="../../resources/testharnessreport.js"></script>
|
|
</head>
|
|
<body>
|
|
<template id="aVideoTemplate">
|
|
<video id="myVideo" playsinline autoplay muted></video>
|
|
</template>
|
|
<div id="myTemplatedVideo"></div>
|
|
<script>
|
|
async function getStream()
|
|
{
|
|
if (navigator.mediaDevices && navigator.mediaDevices.getUserMedia)
|
|
return navigator.mediaDevices.getUserMedia({video:true}).then(stream => stream, () => { });
|
|
}
|
|
|
|
promise_test(async () => {
|
|
const clone = aVideoTemplate.content.cloneNode(true);
|
|
myTemplatedVideo.appendChild(clone);
|
|
|
|
myVideo.srcObject = await getStream();
|
|
// Fallback to regular video streaming if getUserMedia is not available.
|
|
if (!myVideo.srcObject)
|
|
myVideo.src = "../../media/content/test.mp4";
|
|
await myVideo.play();
|
|
if (window.internals)
|
|
assert_false(internals.isMediaElementHidden(myVideo));
|
|
}, "Test templated video visibility");
|
|
</script>
|
|
</body>
|
|
</html>
|