File: media-players-are-dropped-on-error.html

package info (click to toggle)
qtwebkit 2.3.4.dfsg-10
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 290,632 kB
  • sloc: cpp: 1,417,515; python: 85,048; ansic: 39,357; perl: 38,862; ruby: 10,313; objc: 9,505; xml: 8,679; asm: 3,864; yacc: 2,458; sh: 1,237; lex: 813; makefile: 592; java: 228; php: 79
file content (40 lines) | stat: -rw-r--r-- 1,187 bytes parent folder | download | duplicates (16)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
<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 &lt;video&gt; elements).
</body>
</html>