OLD | NEW |
1 <!DOCTYPE html> | 1 <!DOCTYPE html> |
2 <html> | 2 <html> |
3 <head> | 3 <head> |
4 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> | 4 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> |
5 | 5 |
6 <script src=../media-file.js></script> | 6 <script src=../media-file.js></script> |
7 <script src=../video-test.js></script> | 7 <script src=../video-test.js></script> |
8 <script> | 8 <script> |
9 | 9 |
10 var tracks = []; | |
11 var trackElement; | 10 var trackElement; |
12 function trackAdded() | 11 var track; |
| 12 |
| 13 function trackRemoved() |
13 { | 14 { |
14 consoleWrite("EVENT(" + event.type + ")"); | 15 consoleWrite("EVENT(" + event.type + ")"); |
15 | 16 |
16 testExpected("event.target", video.textTracks); | 17 testExpected("event.target", video.textTracks); |
17 testExpected("event instanceof window.TrackEvent", true); | 18 testExpected("event instanceof window.TrackEvent", true); |
18 testExpected("event.track", tracks[video.textTracks.length - 1])
; | 19 testExpected("event.track", track); |
19 | 20 |
20 if (video.textTracks.length == 1) { | 21 consoleWrite(""); |
21 consoleWrite("<br>** Test a TextTrack created with video.add
TextTrack()."); | 22 endTest(); |
22 run("tracks.push(video.addTextTrack('captions', 'Caption Tra
ck', 'en'))"); | |
23 testExpected("video.textTracks.length", 2); | |
24 } else { | |
25 consoleWrite(""); | |
26 endTest(); | |
27 } | |
28 } | 23 } |
29 | 24 |
30 function start() | 25 function start() |
31 { | 26 { |
32 findMediaElement(); | 27 findMediaElement(); |
33 | 28 |
34 consoleWrite("** Test a TextTrack created for a <track> el
ement."); | 29 consoleWrite("** Test a TextTrack created for a <track> el
ement."); |
35 run("trackElement = document.createElement('track')"); | 30 run("trackElement = document.createElement('track')"); |
36 run("video.appendChild(trackElement)"); | 31 run("video.appendChild(trackElement)"); |
37 tracks.push(trackElement.track); | |
38 | |
39 // Register the 'addtrack' listener after creating the element t
o make sure the | |
40 // event is dispatch asynchronously. | |
41 video.textTracks.addEventListener("addtrack", trackAdded); | |
42 | 32 |
43 run("trackElement.src = 'captions-webvtt/tc004-webvtt-file.vtt'"
); | 33 run("trackElement.src = 'captions-webvtt/tc004-webvtt-file.vtt'"
); |
44 run("trackElement.track.mode = 'hidden'"); | 34 run("trackElement.track.mode = 'hidden'"); |
45 testExpected("video.textTracks.length", 1); | 35 testExpected("video.textTracks.length", 1); |
46 testExpected("trackElement.readyState", HTMLTrackElement.NONE); | 36 |
| 37 track = video.textTracks[0]; |
| 38 video.removeChild(trackElement); |
| 39 |
| 40 video.textTracks.addEventListener("removetrack", trackRemoved); |
47 } | 41 } |
48 | 42 |
49 </script> | 43 </script> |
50 </head> | 44 </head> |
51 <body onload="start()"> | 45 <body onload="start()"> |
52 <p>Tests that the 'addtrack' event is fired when a TextTrack is created.
</p> | 46 <p>Tests that the 'removetrack' event is fired when a TextTrack is remov
ed.</p> |
53 <video> | 47 <video> |
54 </video> | 48 </video> |
55 </body> | 49 </body> |
56 </html> | 50 </html> |
OLD | NEW |