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>Media test: play() method via DOM 0 handlers</title>
5 <script type="text/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
6 <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" />
7 <script type="text/javascript" src="manifest.js"></script>
8 </head>
9 <body>
10 <pre id="test">
12 <script>
13 var manager = new MediaTestManager;
15 var tokens = {
16 0: ["play"],
17 "play": ["canplay"],
18 "canplay": ["playing"],
19 "playing": ["canplay", "canplaythrough"],
20 "canplaythrough": ["canplay", "canplaythrough"]
21 };
23 function gotPlayEvent(event) {
24 var v = event.target;
25 ok(tokens[v._state].indexOf(event.type) >= 0,
26 "Check expected event got " + event.type + " at " + v._state + " for " + v.src);
27 v._state = event.type;
28 }
30 function ended(event) {
31 var v = event.target;
32 v._finished = true;
33 removeNodeAndSource(v);
34 manager.finished(v.token);
35 }
37 function startTest(test, token) {
38 var v = document.createElement('video');
39 v.token = token;
40 manager.started(token);
41 v._state = 0;
42 v._finished = false;
44 ["play", "canplay", "playing", "canplaythrough"].forEach(function (e) {
45 v["on" + e] = gotPlayEvent;
46 });
48 v.onended = ended;
50 v.src = test.name;
51 document.body.appendChild(v); // Causes load.
52 v.play();
53 }
55 manager.runTests(gSmallTests, startTest);
57 </script>
58 </pre>
59 </body>
60 </html>