blob: 6c8dab5d67a8b5ce07a8d71f5e389fb499cc8c56 [file] [log] [blame]
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Testing basic video exchange from offerer to receiver</title>
<script src="../resources/testharness.js"></script>
<script src="../resources/testharnessreport.js"></script>
<script src="/media-resources/media-file.js"></script>
<script src="/media-resources/video-test.js"></script>
</head>
<body>
<div>Click on play button: video1 should start to play, then video2 should also start to play</div>
<button id="video1Button" onclick="doTest()">Play video 1</button>
<video id="video1"></video>
<video id="video2" autoplay></video>
<video id="video3"></video>
<script>
if (window.internals) {
internals.setMediaElementRestrictions(video1, "RequireUserGestureForVideoRateChange");
internals.setMediaElementRestrictions(video2, "RequireUserGestureForVideoRateChange");
internals.setMediaElementRestrictions(video3, "RequireUserGestureForVideoRateChange");
}
promise_test((test) => {
video3.src = findMediaFile("video", "resources/test-25fps");
return video3.play().then(assert_unreached, () => { });
}, "Ensuring video is not playing if no user gesture");
var resolveTest, rejectTest;
promise_test((test) => {
return new Promise((resolve, reject) => {
resolveTest = resolve;
rejectTest = reject;
});
}, "Should not autoplay even when a video is already playing audio");
function doTest()
{
video1.src = findMediaFile("video", "resources/test-25fps");
return video1.play().then(() => {
video2.src = findMediaFile("video", "resources/test-25fps");
video2.play().then(() => rejectTest("video2 did start"), resolveTest);
});
}
var x = video1Button.offsetLeft + 5;
var y = video1Button.offsetTop + 5;
if (window.eventSender) {
eventSender.mouseMoveTo(x, y);
eventSender.mouseDown();
eventSender.mouseUp();
}
</script>
</body>
</html>