| <!DOCTYPE html> |
| <html> |
| <head> |
| <title>media-allowed-containers</title> |
| <script src="video-test.js"></script> |
| <script> |
| window.addEventListener('load', async event => { |
| if (!window.internals) { |
| failTest('Requires window.internals'); |
| return; |
| } |
| |
| video = document.createElement('video'); |
| run('internals.settings.setAllowedMediaContainerTypes(null)'); |
| testExpected('video.canPlayType("audio/mp3")', 'maybe'); |
| testExpected('video.canPlayType("video/mp4")', 'maybe'); |
| run('video.src = "content/test.mp4"'); |
| await Promise.race([waitForAndSucceed(video, 'canplay'), waitForAndFail(video, 'error')]); |
| |
| video = document.createElement('video'); |
| run('internals.settings.setAllowedMediaContainerTypes("audio/mp3")'); |
| testExpected('video.canPlayType("audio/mp3")', 'maybe'); |
| testExpected('video.canPlayType("video/mp4")', ''); |
| run('video.src = "content/test.mp4"'); |
| await Promise.race([waitForAndSucceed(video, 'error'), waitForAndFail(video, 'canplay')]); |
| |
| video = document.createElement('video'); |
| run('internals.settings.setAllowedMediaContainerTypes("video/mp4")'); |
| testExpected('video.canPlayType("audio/mp3")', ''); |
| testExpected('video.canPlayType("video/mp4")', 'maybe'); |
| run('video.src = "content/test.mp4"'); |
| await Promise.race([waitForAndSucceed(video, 'canplay'), waitForAndFail(video, 'error')]); |
| |
| endTest(); |
| }); |
| </script> |
| </head> |
| <body> |
| </body> |
| </html> |