Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2)

Side by Side Diff: third_party/WebKit/LayoutTests/media/audio-garbage-collect.html

Issue 2009993003: Convert audio-data*, audio-garbage* and audio-play* tests to testharness.js (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Removed eventcount Created 4 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 <!DOCTYPE HTML> 1 <!DOCTYPE HTML>
2 2 <title>Tests that we don't garbage collect audio object while it is still playin g.</title>
3 <html> 3 <script src="media-file.js"></script>
4 <body> 4 <script src="../resources/gc.js"></script>
5 5 <script src="../resources/testharness.js"></script>
6 <p>Tests that we don't garbage collect playing audio object or event listener.</ p> 6 <script src="../resources/testharnessreport.js"></script>
7 <p>According to http://www.whatwg.org/specs/web-apps/current-work/multipage/the- video-element.html,<br /> 7 <script>
8 "4.8.10.8 Playing the media resource",<br /> 8 // According to http://www.whatwg.org/specs/web-apps/current-work/multipage/the- video-element.html,
9 "Media elements must not stop playing just because all references to them have 9 // 4.8.10.8 Playing the media resource,
10 been removed; only once a media element is in a state where no further audio 10 // Media elements must not stop playing just because all references to them have
11 could ever be played by that element may the element be garbage collected."<br / ><br /> 11 // been removed; only once a media element is in a state where no further audio
12 (see https://bugs.webkit.org/show_bug.cgi?id=66878, https://bugs.webkit.org/show _bug.cgi?id=70421, and http://crbug.com/62604 for more details).</p> 12 // could ever be played by that element may the element be garbage collected.
13 <p id="result"> 13 // see https://bugs.webkit.org/show_bug.cgi?id=66878, https://bugs.webkit.org/sh ow_bug.cgi?id=70421,
14 FAIL: Test either still running or stopped prematurely. 14 // and http://crbug.com/62604 for more details).
15 </p> 15 async_test(function(t) {
16 16 var audioPlayers = 4;
17 <script src=../resources/gc.js></script> 17 var playedCount = 0;
18 <script src=media-file.js></script>
19 <!-- TODO(foolip): Convert test to testharness.js. crbug.com/588956
20 (Please avoid writing new tests using video-test.js) -->
21 <script src=video-test.js></script>
22 <script type="text/javascript">
23
24 var num_players = 4;
25 var play_times = 5;
26
27 function finish() {
28 document.getElementById("result").innerText = "PASS";
29 if (window.testRunner) {
30 testRunner.notifyDone();
31 }
32 }
33
34 function start() {
35 var num_played = 0;
36 var audioFile = findMediaFile("audio", "content/silence"); 18 var audioFile = findMediaFile("audio", "content/silence");
37 var a = new Audio(audioFile); 19 var audio = new Audio(audioFile);
38 a.addEventListener('ended', function() { 20
39 num_played ++; 21 audio.onended = t.step_func(function() {
40 if (num_played < play_times) { 22 playedCount ++;
41 a.currentTime = a.duration - 0.35; 23 if (playedCount <= audioPlayers) {
42 a.play(); 24 audio.currentTime = audio.duration - 0.35;
43 if (num_played == play_times - 1) { 25 audio.play();
44 a = null; 26 if (playedCount == audioPlayers) {
27 audio = null;
45 gc(); 28 gc();
46 } 29 }
47 } else { 30 } else {
48 num_players --; 31 t.done();
49 if (num_players == 0)
50 start();
51 else
52 finish();
53 } 32 }
54 }); 33 });
55 34
56 waitForEvent('canplaythrough', function() { 35 audio.oncanplaythrough = t.step_func(function() {
57 a.currentTime = a.duration - 0.35; 36 audio.oncanplaythrough = null;
58 a.play(); 37 audio.currentTime = audio.duration - 0.35;
59 }, false, true, a, true); 38 audio.play();
60 } 39 });
61 40 });
62 start(); 41 </script>
63
64 </script>
65 </body>
66 </html>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698