blob: fa6a731244d970b3c92dda5b60b8d729249f51db [file] [log] [blame]
<!DOCTYPE html>
<html>
<head>
<script src="media-file.js"></script>
<script src="video-test.js"></script>
<script>
function go()
{
runNextTest();
}
function runNextTest()
{
if (tests.length)
tests.shift()();
else
endTest();
}
function testPlaysInline(requiresPlaysInline, hasPlaysInline, expectedDisplayingFullscreen)
{
run('internals.settings.setInlineMediaPlaybackRequiresPlaysInlineAttribute(' + requiresPlaysInline + ')');
video = media = document.createElement('video');
document.body.appendChild(video);
video.controls = true;
video.src = findMediaFile('video', 'content/test');
run('video.playsInline = ' + hasPlaysInline);
waitForEventOnce('canplaythrough', () => {
runWithKeyDown(() => {
run('video.play()');
});
})
waitForEventOnce('playing', () => {
testExpected('video.webkitDisplayingFullscreen', expectedDisplayingFullscreen);
document.body.removeChild(video);
runNextTest();
});
}
function testRequiresPlaysInlineAndDoesntHaveIt()
{
testPlaysInline(true, false, true);
}
function testRequiresPlaysInlineAndDoesHaveIt()
{
testPlaysInline(true, true, false);
}
function testDoesNotRequirePlaysInlineAndDoesntHaveIt()
{
testPlaysInline(false, false, false);
}
function testDoesNotRequirePlaysInlineAndDoesHaveIt()
{
testPlaysInline(false, true, false);
}
var tests = [
testRequiresPlaysInlineAndDoesntHaveIt,
testRequiresPlaysInlineAndDoesHaveIt,
testDoesNotRequirePlaysInlineAndDoesntHaveIt,
testDoesNotRequirePlaysInlineAndDoesHaveIt,
];
</script>
</head>
<body onload="go()">
</body>
</html>