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

Side by Side Diff: chrome/test/data/prerender/prerender_html5_audio_autoplay.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
(Empty)
1 <html>
2 <!--
3 This test checks that:
4 - Audio tags are deferred during prerendering.
5 - The audio starts playing on page swap in when autoplay is set.
6 -->
7 <head>
8 <title>Prerender for HTML5 audio.</title>
9 </head>
10
11 <body>
12 <audio id="audioEl" controls autoplay>
13 <source src="bear.wav" type="audio/wav" />
14 </audio>
15
16 <script>
17 var canPlaySeen = false;
18 var playingSeen = false;
19 var canPlayThroughSeen = false;
20 var hasError = false;
21
22 var audioEl = document.getElementById("audioEl");
23
24 function audioEventHandler(e) {
25 console.log(e.type);
26
27 if (e.type == 'canplay') {
28 canPlaySeen = true;
29 } else if (e.type == 'playing') {
30 playingSeen = true;
31 if (canPlayThroughSeen)
32 document.title = "PASS";
33 } else if (e.type == 'error') {
34 hasError = true;
35 } else if (e.type == 'canplaythrough') {
36 canPlayThroughSeen = true;
37 if (playingSeen)
38 document.title = "PASS";
39 }
40 }
41
42 audioEl.addEventListener('playing', audioEventHandler, false);
43 audioEl.addEventListener('canplay', audioEventHandler, false);
44 audioEl.addEventListener('canplaythrough', audioEventHandler, false);
45 audioEl.addEventListener('error', audioEventHandler, false);
46
47 function DidPrerenderPass() {
48 // The audio should not have started at this point.
49 return !canPlaySeen && !playingSeen && !hasError &&
50 audioEl.currentTime == 0 &&
51 audioEl.readyState == audioEl.HAVE_NOTHING;
52 }
53
54 function DidDisplayPass() {
55 // The actual test is done via the TitleWatcher.
56 return true;
57 }
58
59 </script>
60 </body>
61 </html>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698