51 lines
2.0 KiB
HTML
51 lines
2.0 KiB
HTML
<!doctype html>
|
|
<html>
|
|
<head>
|
|
<meta charset="utf-8">
|
|
<title>Testing autoplay with getUserMedia</title>
|
|
<script src="../resources/testharness.js"></script>
|
|
<script src="../resources/testharnessreport.js"></script>
|
|
<script src=../media/media-file.js></script>
|
|
<script src=../media/video-test.js></script>
|
|
</head>
|
|
<body>
|
|
<video id="video1" loop autoplay playsInline></video>
|
|
<video id="video2" loop autoplay playsInline></video>
|
|
<video id="video3" loop autoplay playsInline></video>
|
|
<video id="video4" loop autoplay playsInline></video>
|
|
<script>
|
|
promise_test(async (test) => {
|
|
if (window.internals) {
|
|
internals.setMediaElementRestrictions(video1, "RequireUserGestureForVideoRateChange");
|
|
internals.setMediaElementRestrictions(video2, "RequireUserGestureForVideoRateChange");
|
|
internals.setMediaElementRestrictions(video3, "RequireUserGestureForVideoRateChange");
|
|
internals.setMediaElementRestrictions(video4, "RequireUserGestureForVideoRateChange");
|
|
}
|
|
|
|
video1.src = findMediaFile("video", "../media/content/audio-tracks");
|
|
video2.src = findMediaFile("video", "../media/content/audio-tracks");
|
|
video3.src = findMediaFile("video", "../media/content/audio-tracks");
|
|
|
|
await new Promise(resolve => setTimeout(resolve, 50));
|
|
assert_true(video1.paused, "paused video");
|
|
assert_true(video2.paused, "paused video");
|
|
assert_true(video3.paused, "paused video");
|
|
|
|
video1.pause();
|
|
let removedVideo2 = video2;
|
|
removedVideo2.remove();
|
|
|
|
video4.srcObject = await navigator.mediaDevices.getUserMedia({ video : true });
|
|
|
|
while (video4.paused)
|
|
await new Promise(resolve => setTimeout(resolve, 50));
|
|
|
|
assert_true(video1.paused, "paused video");
|
|
assert_true(removedVideo2.paused, "out of DOM video");
|
|
assert_true(video3.paused, "still not autoplaying video");
|
|
}, "Granting getUserMedia should not start paused media or media that cannot autoplay due to autoplay restrictions");
|
|
|
|
</script>
|
|
</body>
|
|
</html>
|