blob: 0389668167fa504b777537c407323d8a6b5b23e0 [file] [log] [blame]
Torne (Richard Coles)5c87bf82012-11-14 11:46:17 +00001<html>
2<head>
3<script>
4var urls = [
5 "file:///does not exist oh noes/test.mp4",
6 "../LayoutTests/media/content/test-25fps.mp4"
7];
8var kickoffFunctions = [
9 "load",
10 "play"
11];
12
13var mediaElementHolder = [];
14
15function 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 &lt;video&gt; elements).
39</body>
40</html>