<html>
<head>
<script>
var urls = [
"file:///does not exist oh noes/test.mp4",
"../LayoutTests/media/content/test-25fps.mp4"
];
var kickoffFunctions = [
"load",
"play"
];
var mediaElementHolder = [];
function releaseAndAddMediaElements() {
for (var i = 0; i < mediaElementHolder.length; ++i)
mediaElementHolder[i].src = "";
mediaElementHolder = [];
for (var i = 0; i < 5; ++i) {
for (var url in urls) {
for (var kickoffFunction in kickoffFunctions) {
var a = document.createElement('video');
a.controls = "controls";
a.src = urls[url];
eval("a." + kickoffFunctions[kickoffFunction] + "();");
mediaElementHolder.push(a);
}
}
}
}
</script>
</head>
<body onload="setInterval('releaseAndAddMediaElements()', 100)">
Test that media players aren't leaked on error.
Load this page and verify the number of threads used by the browser doesn't
seem unreasonable (e.g. chrome uses 4-5 threads per video tag so staying
under 100 threads is "success", since this instantiates 20 <video> elements).
</body>
</html>