64 lines
2.1 KiB
HTML
64 lines
2.1 KiB
HTML
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<script src="media-file.js"></script>
|
|
<script src="video-test.js"></script>
|
|
<script>
|
|
var playCalled = false;
|
|
|
|
function canplaythrough()
|
|
{
|
|
consoleWrite("");
|
|
if (!playCalled)
|
|
consoleWrite("*** FAIL: media data loaded before play() was called ***<br>");
|
|
|
|
endTest();
|
|
}
|
|
|
|
function play()
|
|
{
|
|
consoleWrite("** 250ms timer fired");
|
|
testExpected("video.readyState", HTMLMediaElement.HAVE_CURRENT_DATA, "<");
|
|
testExpected("video.buffered.length", 0, "==");
|
|
playCalled = true;
|
|
run("video.play()");
|
|
consoleWrite("");
|
|
}
|
|
|
|
function loadedmetadata()
|
|
{
|
|
testExpected("video.readyState", HTMLMediaElement.HAVE_CURRENT_DATA, "<");
|
|
|
|
// Wait 250ms before play()ing to make sure setting src did not kick off the load.
|
|
consoleWrite("** Pausing...<br>");
|
|
setTimeout(play, 250);
|
|
consoleWrite("");
|
|
}
|
|
|
|
function start()
|
|
{
|
|
if (!window.internals) {
|
|
failTest('This test requires window.internals.');
|
|
return;
|
|
}
|
|
|
|
findMediaElement();
|
|
testExpected("video.preload", "auto");
|
|
waitForEvent('loadedmetadata', loadedmetadata);
|
|
waitForEvent('canplaythrough', canplaythrough);
|
|
|
|
consoleWrite("** setting video.src");
|
|
video.src = findMediaFile("video", "content/test");
|
|
failTestIn(2000);
|
|
run("internals.setMediaElementRestrictions(video, 'AutoPreloadingNotPermitted')");
|
|
consoleWrite("");
|
|
}
|
|
</script>
|
|
</head>
|
|
|
|
<body onload="start()">
|
|
<video controls preload=auto></video>
|
|
<p>Test that "no auto-loading restriction" only allows metadata to load in spite of preload='auto'.</p>
|
|
</body>
|
|
</html>
|