Source code

Revision control

Copy as Markdown

Other Tools

Test Info:

<title>Media test: standalone video documents</title>
<script src="/tests/SimpleTest/SimpleTest.js"></script>
<link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" />
<script type="text/javascript" src="manifest.js"></script>
<script class="testbody" type="text/javascript">
// Test whether video can be played correctly in a video document
add_task(async function testStandAloneVideoDocument() {
for (let i=0; i<gSmallTests.length; ++i) {
const test = gSmallTests[i];
// We can't play WAV files in stand alone documents, so just don't
// run the test on non-video content types.
if (getMajorMimeType(test.type) != "video" ||
!document.createElement("video").canPlayType(test.type)) {
let f = document.createElement("iframe");
f.src =;
info(`waiting iframe loading ${}`);
await new Promise(r => f.onload = r);
const v = f.contentDocument.body.firstChild;
is(v.tagName.toLowerCase(), "video", "Is video element");
const src = filename(v.currentSrc);
is(src,, `Name (${src}) should match (${})`);
is(v.controls, true, `Controls set (${src})`);
is(v.autoplay, true, `Autoplay set (${src})`);
// Helper function
function filename(uri) {
return uri.substr(uri.lastIndexOf("/")+1);