74 lines
1.8 KiB
HTML
74 lines
1.8 KiB
HTML
<!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, hasWebkitPlaysInline, 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.${hasWebkitPlaysInline ? 'set' : 'remove'}Attribute("webkit-playsinline", "")`);
|
|
waitForEventOnce('canplaythrough', () => {
|
|
runWithKeyDown(() => {
|
|
run('video.play()');
|
|
});
|
|
})
|
|
waitForEventOnce('playing', async () => {
|
|
if (expectedDisplayingFullscreen)
|
|
await testExpectedEventually('internals.isChangingPresentationMode(video)', false);
|
|
|
|
testExpected('video.webkitDisplayingFullscreen', expectedDisplayingFullscreen);
|
|
document.body.removeChild(video);
|
|
runNextTest();
|
|
});
|
|
}
|
|
|
|
function testRequiresPlaysInlineAndDoesntHaveIt()
|
|
{
|
|
testPlaysInline(true, false, true);
|
|
}
|
|
|
|
function testRequiresPlaysInlineAndDoesHaveIt()
|
|
{
|
|
testPlaysInline(true, true, true);
|
|
}
|
|
|
|
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> |