| OLD | NEW |
| (Empty) |
| 1 <!DOCTYPE html> | |
| 2 <title>HTMLMediaElement set session</title> | |
| 3 <script src="../../resources/testharness.js"></script> | |
| 4 <script src="../../resources/testharnessreport.js"></script> | |
| 5 <script> | |
| 6 test(function() { | |
| 7 assert_true(!window.internals || window.internals.runtimeFlags.mediaSessio
nEnabled, | |
| 8 "Run either manually by passing the MediaSession flag or as part of th
e virtual mediasession testsuite."); | |
| 9 console.warn("dummy log entry to avoid an empty -expected.txt in virtual/"
); | |
| 10 }, "Setup"); | |
| 11 | |
| 12 test(function() { | |
| 13 var mediaElement = document.createElement('audio'); | |
| 14 assert_true(mediaElement instanceof HTMLMediaElement); | |
| 15 | |
| 16 var mediaSession = new MediaSession(); | |
| 17 assert_equals(mediaElement.networkState, HTMLMediaElement.NETWORK_EMPTY); | |
| 18 mediaElement.session = mediaSession; | |
| 19 assert_equals(mediaElement.session, mediaSession); | |
| 20 | |
| 21 assert_throws(new TypeError, function() { mediaElement.session = document;
}); | |
| 22 assert_throws(new TypeError, function() { mediaElement.session = "string";
}); | |
| 23 assert_throws(new TypeError, function() { mediaElement.session = 42; }); | |
| 24 assert_equals(mediaElement.session, mediaSession); | |
| 25 | |
| 26 mediaElement.session = null; | |
| 27 assert_equals(mediaElement.session, null); | |
| 28 }, "Set HTMLMediaElement session when networkState is NETWORK_EMPTY"); | |
| 29 | |
| 30 test(function() { | |
| 31 var mediaElement = document.createElement('audio'); | |
| 32 var mediaSession = new MediaSession(); | |
| 33 mediaElement.appendChild(document.createElement('source')); | |
| 34 assert_equals(mediaElement.networkState, HTMLMediaElement.NETWORK_NO_SOURC
E); | |
| 35 mediaElement.session = mediaSession; | |
| 36 assert_equals(mediaElement.session, mediaSession); | |
| 37 }, "Set HTMLMediaElement session when networkState is NETWORK_NO_SOURCE"); | |
| 38 | |
| 39 async_test(function(t) { | |
| 40 var mediaElement = document.createElement('audio'); | |
| 41 mediaElement.onloadeddata = t.step_func(function () { | |
| 42 assert_true(mediaElement.networkState == HTMLMediaElement.NETWORK_IDLE | |
| 43 || mediaElement.networkState == HTMLMediaElement.NETWORK_L
OADING); | |
| 44 assert_throws("InvalidStateError", function() { mediaElement.session =
new MediaSession(); }); | |
| 45 t.done(); | |
| 46 }); | |
| 47 mediaElement.src = '../resources/test-live.webm'; | |
| 48 }, "Set HTMLMediaElement session during or after load"); | |
| 49 </script> | |
| OLD | NEW |