| <!-- webkit-test-runner [ useEphemeralSession=true ] --> |
| <html> |
| <head> |
| <script src='media-file.js'></script> |
| <script src='video-test.js'></script> |
| <script> |
| |
| let usage; |
| let videoURL; |
| |
| window.addEventListener('load', async event => { |
| |
| if (!window.internals) { |
| failTest(`<br>This test requires internals!`); |
| return; |
| } |
| |
| findMediaElement(); |
| |
| videoURL = findMediaFile("video", "content/test"); |
| video.src = videoURL; |
| |
| await waitFor(video, 'canplaythrough'); |
| |
| consoleWrite("<br>** Check state before playback, there should be no usage state."); |
| testExpected('internals.mediaUsageState(video)', "NotSupportedError"); |
| |
| consoleWrite("<br>** Mute video, there should still be no usage state."); |
| run('video.muted = true'); |
| testExpected('internals.mediaUsageState(video)', "NotSupportedError"); |
| |
| consoleWrite("<br>** Unmute video, there should still be no usage state."); |
| run('video.muted = false'); |
| testExpected('internals.mediaUsageState(video)', "NotSupportedError"); |
| |
| consoleWrite("<br>** Try to play without user gesture, there should still be no usage state.") |
| runWithKeyDown(() => { |
| video.play(); |
| }); |
| await waitFor(video, 'playing'); |
| |
| testExpected('internals.mediaUsageState(video)', "NotSupportedError"); |
| |
| endTest(); |
| }); |
| |
| </script> |
| </head> |
| <body> |
| <video controls></video> |
| <p>Test mediaUsageState.</p> |
| </body> |
| </html> |