| <!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> |