OLD | NEW |
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> |
OLD | NEW |