71 lines
2.5 KiB
HTML
71 lines
2.5 KiB
HTML
<html>
|
|
<head>
|
|
<script src="media-file.js"></script>
|
|
<script src="video-test.js"></script>
|
|
<script>
|
|
|
|
function start()
|
|
{
|
|
if (!window.internals) {
|
|
failTest('This test requires window.internals.');
|
|
return;
|
|
}
|
|
|
|
findMediaElement();
|
|
|
|
run('internals.settings.setAllowsInlineMediaPlayback(false)');
|
|
run('internals.setMediaElementRestrictions(video, "RequireUserGestureForFullscreen")');
|
|
|
|
waitForEvent('canplaythrough', canplaythrough)
|
|
waitForEvent('webkitfullscreenchange', fullscreenChanged, false, true, document)
|
|
waitForEvent('click', clickHandler, false, true, document.getElementById('button'))
|
|
|
|
consoleWrite('* set video.src');
|
|
video.src = findMediaFile('video', 'content/test');
|
|
consoleWrite('');
|
|
}
|
|
|
|
function canplaythrough()
|
|
{
|
|
consoleWrite('');
|
|
if (window.eventSender) {
|
|
consoleWrite('* video.play() should fail ');
|
|
run('video.play()');
|
|
testExpected('video.paused', true);
|
|
consoleWrite('');
|
|
|
|
consoleWrite('* clicking button<br>');
|
|
var button = document.getElementById('button');
|
|
eventSender.mouseMoveTo(button.offsetLeft + 20, button.offsetTop + 7);
|
|
eventSender.mouseDown();
|
|
eventSender.mouseUp();
|
|
} else {
|
|
consoleWrite('* click on the "Click me!" button to proceed<br>');
|
|
}
|
|
}
|
|
|
|
function clickHandler()
|
|
{
|
|
consoleWrite('* video.play() should work from within a click handler');
|
|
testExpected('video.paused', true);
|
|
run('video.play()');
|
|
consoleWrite('');
|
|
failTestIn(2000);
|
|
}
|
|
|
|
function fullscreenChanged()
|
|
{
|
|
testExpected('video.paused', false);
|
|
consoleWrite('');
|
|
endTest();
|
|
}
|
|
</script>
|
|
</head>
|
|
|
|
<body onload="start()">
|
|
<p>Test that "fullscreen requires user gesture restriction" is removed by a user gesture.</p>
|
|
<video controls></video>
|
|
<button id="button" >Click me!</button><br>
|
|
</body>
|
|
</html>
|