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

Side by Side Diff: chrome/test/data/prerender/prerender_html5_video_script.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 video starts playing 3 This test checks that video tags created by javascript are are deferred
4 through javascript. 4 during prerendering and the autoplay is enabled during swap ins.
5 --> 5 -->
6 <head> 6 <head>
7 <title>Prerender cancellation for HTML5 video.</title> 7 <title>Prerender for HTML5 video.</title>
8 </head> 8 </head>
9 <body>
10 <div id="vid">
11 </div>
12 9
13 <script> 10 <body>
14 var videoTag = document.createElement("video"); 11 <div id="vid">
15 videoTag.src = "nonexistant.mp4"; 12 </div>
16 var element = document.getElementById("vid"); 13
17 element.appendChild(videoTag); 14 <script>
18 </script> 15 var videoTag = document.createElement("video");
19 </body> 16 videoTag.src = "bear.ogv"
17 videoTag.id = "videoEl";
18 var element = document.getElementById("vid");
19 element.appendChild(videoTag);
20 </script>
21
22 <script>
23 var canPlaySeen = false;
24 var playingSeen = false;
25 var hasError = false;
26 var canPlayThroughSeen = false;
27
28 var videoEl = document.getElementById("videoEl");
29 videoEl.play();
30
31 function videoEventHandler(e) {
32 console.log(e.type);
33 if (e.type == 'canplay') {
34 canPlaySeen = true;
35 } else if (e.type == 'playing') {
36 playingSeen = true;
37 if (canPlayThroughSeen)
38 document.title = "PASS";
39 } else if (e.type == 'error') {
40 hasError = true;
41 } else if (e.type == 'canplaythrough') {
42 canPlayThroughSeen = true;
43 if (playingSeen)
44 document.title = "PASS";
45 }
46 }
47
48 videoEl.addEventListener('playing', videoEventHandler, false);
49 videoEl.addEventListener('canplay', videoEventHandler, false);
50 videoEl.addEventListener('canplaythrough', videoEventHandler, false);
51 videoEl.addEventListener('error', videoEventHandler, false);
52
53 function DidPrerenderPass() {
54 // The video should not have started at this point.
55 return !canPlaySeen && !playingSeen && !hasError &&
56 videoEl.currentTime == 0 &&
57 videoEl.readyState == videoEl.HAVE_NOTHING;
58 }
59
60 function DidDisplayPass() {
61 // The actual test is done via the TitleWatcher.
62 return true;
63 }
64
65 </script>
66 </body>
20 </html> 67 </html>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698