Tue, 06 Jan 2015 21:39:09 +0100
Conditionally force memory storage according to privacy.thirdparty.isolate;
This solves Tor bug #9701, complying with disk avoidance documented in
https://www.torproject.org/projects/torbrowser/design/#disk-avoidance.
1 <!DOCTYPE HTML>
2 <html>
3 <head>
4 <title>Test seekable member for media elements</title>
5 <script type="text/javascript" src="/MochiKit/MochiKit.js"></script>
6 <script type="text/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
7 <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" />
8 <script type="text/javascript" src="manifest.js"></script>
9 </head>
10 <body>
11 <pre id='test'>
12 <script class="testbody" type='application/javascript;version=1.8'>
14 let manager = new MediaTestManager;
16 function finish_test(element) {
17 if (element.parentNode)
18 element.parentNode.removeChild(element);
19 element.src="";
20 manager.finished(element.token);
21 }
23 var tests = [
24 // Test using a finite media stream, and a server supporting range requests
25 {
26 setup : function(element) {
27 is(element.seekable.length, 0, "seekable.length should be initialy 0.");
28 element.addEventListener("loadedmetadata", function() {
29 is(element.seekable.length, 1, "seekable.length should be 1 for a server supporting range requests.");
31 is(element.seekable.start(0), 0.0, "The start of the first range should be the initialTime.");
32 is(element.seekable.end(0), element.duration, "The end of the first range should be the duration.")
33 finish_test(element);
34 }, false);
35 }
36 }
37 ];
39 function createTestArray() {
40 var A = [];
41 for (var k=0; k < gProgressTests.length; k++) {
42 var t = new Object();
43 t.setup = tests[0].setup;
44 t.name = gProgressTests[k].name;
45 t.type = gProgressTests[k].type;
46 A.push(t);
47 }
48 return A;
49 }
51 function startTest(test, token) {
52 var elemType = getMajorMimeType(test.type);
53 var element = document.createElement(elemType);
54 element.preload = "auto";
55 element.src = test.name;
56 element.token = token;
57 test.setup(element);
58 manager.started(token);
59 }
61 manager.runTests(createTestArray(), startTest);
63 </script>
64 </pre>
65 </body>
66 </html>