blob: bce808ddd7434ccf5f9a38034b1ca3f5592c5250 [file] [log] [blame]
<!doctype html>
<html>
<head>
<script src=media-file.js></script>
<script src=video-test.js></script>
<script>
function start()
{
if (window.internals) {
window.internals.settings.setAllowsPictureInPictureMediaPlayback(true);
window.internals.setMockVideoPresentationModeEnabled(true);
}
video = document.getElementsByTagName('video')[0];
waitForEventOnce("canplaythrough", canplaythrough);
video.src = findMediaFile("video", "content/test");
consoleWrite("");
}
function canplaythrough()
{
testExpected("video.webkitSupportsFullscreen", true);
testExpected("video.webkitDisplayingFullscreen", false);
consoleWrite("<br>** Try to enter fullscreen");
runWithKeyDown("video.webkitSetPresentationMode('fullscreen')");
waitForEventOnce('webkitpresentationmodechanged', presentationModeChanged1);
}
function presentationModeChanged1()
{
consoleWrite("<br>** Entered fullscreen");
testExpected("video.webkitPresentationMode", "fullscreen");
consoleWrite("<br>** Try to enter picture-in-picture");
waitForEventOnce('webkitpresentationmodechanged', presentationModeChanged2);
runWithKeyDown("video.webkitSetPresentationMode('picture-in-picture')");
}
function presentationModeChanged2()
{
consoleWrite("<br>** Entered picture-in-picture");
testExpected("video.webkitPresentationMode", "picture-in-picture");
consoleWrite("<br>** Try to return to inline");
waitForEventOnce('webkitpresentationmodechanged', testCompleted);
runWithKeyDown("video.webkitSetPresentationMode('inline')");
}
function testCompleted()
{
consoleWrite("<br>** Returned to inline");
testExpected("video.webkitPresentationMode", "inline");
consoleWrite("<br>** Test Completed");
endTest();
}
</script>
</head>
<body onload="start()">
<video controls playsinline></video>
<p>Test the video presentation mode (video fullscreen and picture-in-picture) API.</p>
</body>
</html>