| <!DOCTYPE html> |
| <html> |
| <head> |
| <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> |
| |
| <script src=../media-file.js></script> |
| <script src=../video-test.js></script> |
| <script> |
| |
| function forceGC() |
| { |
| if (window.GCController) |
| return GCController.collect(); |
| |
| // Force garbage collection |
| for (var ndx = 0; ndx < 99000; ndx++) |
| var str = new String("1234"); |
| } |
| |
| function start() |
| { |
| findMediaElement(); |
| |
| consoleWrite("** Add a custom property to a track."); |
| testExpected("video.textTracks.length", 1); |
| run("video.textTracks.myProperty = 'chicken salad!'"); |
| testExpected("video.textTracks.length", 1); |
| testExpected("video.textTracks.myProperty", "chicken salad!"); |
| |
| consoleWrite("<br>** Force garbage collection."); |
| forceGC(); |
| testExpected("video.textTracks.length", 1); |
| testExpected("video.textTracks.myProperty", "chicken salad!"); |
| |
| consoleWrite(""); |
| endTest(); |
| } |
| |
| </script> |
| </head> |
| <body onload="start()"> |
| <p>Ensure that a TrackList won't be collected if it has custom properties.</p> |
| <video> |
| <track> |
| </video> |
| </body> |
| </html> |