Wed, 31 Dec 2014 06:09:35 +0100
Cloned upstream origin tor-browser at tor-browser-31.3.0esr-4.5-1-build1
revision ID fc1c9ff7c1b2defdbc039f12214767608f46423f for hacking purpose.
1 <!DOCTYPE HTML>
2 <html>
3 <head>
4 <title>Test that the playbackRate property is not reset when resuming the playback</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">
11 <script class="testbody" type='application/javascript;version=1.8'>
13 if (navigator.platform.startsWith("Win")) {
14 SimpleTest.expectAssertions(0, 1);
15 } else if (navigator.platform.startsWith("Mac")) {
16 SimpleTest.expectAssertions(0, 2);
17 } else if (navigator.platform.startsWith("Linux")) {
18 // Bug 897024
19 SimpleTest.expectAssertions(0, 2);
20 }
22 let manager = new MediaTestManager;
24 function ontimeupdate(e) {
25 var t = e.target;
26 if (t.currentTime != 0.0) {
27 dump(t.token + " t.currentTime != 0.0.\n");
28 t.removeEventListener("timeupdate", ontimeupdate);
29 t.pause();
30 is(t.playbackRate, 0.5, "PlaybackRate should not have changed after pause.");
31 } else {
32 dump(t.token + " t.currentTime == 0.0.\n");
33 }
34 }
36 function onpaused(e) {
37 var t = e.target;
38 dump(t.token + " onpaused.\n");
39 t.play();
40 is(t.playbackRate, 0.5, "PlaybackRate should not have changed after resuming playback.");
41 finish_test(t);
42 }
44 function finish_test(element) {
45 dump(element.token + " finish_test.\n");
46 if (element.parentNode)
47 element.parentNode.removeChild(element);
48 element.src="";
49 manager.finished(element.token);
50 }
52 function startTest(test, token) {
53 let elemType = /^audio/.test(test.type) ? "audio" : "video";
54 let element = document.createElement(elemType);
55 element.src = test.name;
56 element.token = token;
57 element.controls = true;
58 element.playbackRate = 0.5;
59 element.addEventListener("timeupdate", ontimeupdate);
60 element.addEventListener("pause", onpaused);
61 element.addEventListener("loadedmetadata", function() {
62 dump(element.token + " loadedmetadata\n");
63 element.play();
64 });
65 document.body.appendChild(element);
66 manager.started(token);
67 }
69 manager.runTests(gPlayedTests, startTest);
71 </script>
72 </pre>
73 <div id="elements">
74 </div>
75 </body>
76 </html>