1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
|
<!DOCTYPE html>
<title>Autoplay policy basic behavior test for media element</title>
<script src="/common/media.js"></script>
<script src=/resources/testharness.js></script>
<script src="/resources/testharnessreport.js"></script>
<script>
promise_test(async function playAudibleMediaElement() {
const video = document.createElement('video');
video.src = getVideoURI('/media/movie_5');
await new Promise(r => video.onloadedmetadata = r);
const startPlaying = await video.play().then(_ => true, _ => false);
if (startPlaying) {
assert_equals(
window.navigator.getAutoplayPolicy(video),
"allowed",
'Correct value when audible video is allowed to play');
} else {
assert_in_array(
window.navigator.getAutoplayPolicy(video),
["disallowed", "allowed-muted"],
'Correct value when audible video is not allowed to play'
);
}
}, "Check autoplay policy when playing audible media element");
promise_test(async function playInaudibleMediaElement() {
const video = document.createElement('video');
video.src = getVideoURI('/media/movie_5');
video.muted = true;
await new Promise(r => video.onloadedmetadata = r);
const startPlaying = await video.play().then(_ => true, _ => false);
if (startPlaying) {
assert_in_array(
window.navigator.getAutoplayPolicy(video),
["allowed", "allowed-muted"],
'Correct value when inaudible video is allowed to play');
} else {
assert_equals(
window.navigator.getAutoplayPolicy(video),
"disallowed",
'Correct value when inaudible video is not allowed to play'
);
}
}, "Check autoplay policy when playing inaudible media element");
</script>
|