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

Side by Side Diff: chrome/test/data/prerender/prerender_html5_audio.html

Issue 8095007: Defer loading of audio/video tags while prerendering. (Closed) Base URL: http://git.chromium.org/git/chromium.git@trunk
Patch Set: Adding more tests and addressing all comments. Created 9 years, 2 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 | Annotate | Revision Log
OLDNEW
1 <html> 1 <html>
2 <!-- 2 <!--
3 This test checks that prerender is cancelled when an audio tag is 3 This test checks that audio tags are deferred during prerendering.
4 encountered.
5 --> 4 -->
6 <head> 5 <head>
7 <title>Prerender cancellation for HTML5 audio.</title> 6 <title>Prerender for HTML5 audio.</title>
8 </head> 7 </head>
9 <body> 8
10 <audio controls="controls" autoplay="autoplay"> 9 <body>
11 <source src="nonexistant.wav" type="audio/wav" /> 10 <audio id="audioEl" controls>
12 </audio> 11 <source src="bear.wav" type="audio/wav" />
13 </body> 12 </audio>
13
14 <script>
15 var canPlaySeen = false;
16 var playingSeen = false;
17 var hasError = false;
18
19 var audioEl = document.getElementById("audioEl");
20
21 function audioEventHandler(e) {
22 console.log(e.type);
23
24 if (e.type == 'canplay') {
25 canPlaySeen = true;
26 } else if (e.type == 'playing') {
27 playingSeen = true;
28 } else if (e.type == 'error') {
29 hasError = true;
30 } else if (e.type == 'canplaythrough') {
31 if (!playingSeen && canPlaySeen)
32 document.title = "PASS";
33 }
34 }
35
36 audioEl.addEventListener('playing', audioEventHandler, false);
37 audioEl.addEventListener('canplay', audioEventHandler, false);
38 audioEl.addEventListener('canplaythrough', audioEventHandler, false);
39 audioEl.addEventListener('error', audioEventHandler, false);
40
41 function DidPrerenderPass() {
42 // The audio should not have started at this point.
43 return !canPlaySeen && !playingSeen && !hasError &&
44 audioEl.currentTime == 0 &&
45 audioEl.readyState == audioEl.HAVE_NOTHING;
46 }
47
48 function DidDisplayPass() {
49 // The actual test is done via the TitleWatcher.
50 return true;
51 }
52
53 </script>
54 </body>
14 </html> 55 </html>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698