fischman@chromium.org | 5a49344 | 2012-11-02 01:38:30 +0000 | [diff] [blame] | 1 | <html> |
| 2 | <head> |
| 3 | <script> |
| 4 | var urls = [ |
| 5 | "file:///does not exist oh noes/test.mp4", |
| 6 | "../LayoutTests/media/content/test-25fps.mp4" |
| 7 | ]; |
| 8 | var kickoffFunctions = [ |
| 9 | "load", |
| 10 | "play" |
| 11 | ]; |
| 12 | |
| 13 | var mediaElementHolder = []; |
| 14 | |
| 15 | function releaseAndAddMediaElements() { |
| 16 | for (var i = 0; i < mediaElementHolder.length; ++i) |
| 17 | mediaElementHolder[i].src = ""; |
| 18 | mediaElementHolder = []; |
| 19 | |
| 20 | for (var i = 0; i < 5; ++i) { |
| 21 | for (var url in urls) { |
| 22 | for (var kickoffFunction in kickoffFunctions) { |
| 23 | var a = document.createElement('video'); |
| 24 | a.controls = "controls"; |
| 25 | a.src = urls[url]; |
| 26 | eval("a." + kickoffFunctions[kickoffFunction] + "();"); |
| 27 | mediaElementHolder.push(a); |
| 28 | } |
| 29 | } |
| 30 | } |
| 31 | } |
| 32 | </script> |
| 33 | </head> |
| 34 | <body onload="setInterval('releaseAndAddMediaElements()', 100)"> |
| 35 | Test that media players aren't leaked on error. |
| 36 | Load this page and verify the number of threads used by the browser doesn't |
| 37 | seem unreasonable (e.g. chrome uses 4-5 threads per video tag so staying |
| 38 | under 100 threads is "success", since this instantiates 20 <video> elements). |
| 39 | </body> |
| 40 | </html> |