| Index: chrome/test/data/prerender/prerender_html5_video_script.html
|
| diff --git a/chrome/test/data/prerender/prerender_html5_video_script.html b/chrome/test/data/prerender/prerender_html5_video_script.html
|
| index 9e6595145253793a41e1be9e13eb47d3bf9e3f5a..717a9a4ccdbd263f28267d5a9e0e91f113cc8479 100644
|
| --- a/chrome/test/data/prerender/prerender_html5_video_script.html
|
| +++ b/chrome/test/data/prerender/prerender_html5_video_script.html
|
| @@ -1,20 +1,67 @@
|
| <html>
|
| <!--
|
| - This test checks that prerender is cancelled when an video starts playing
|
| - through javascript.
|
| + This test checks that video tags created by javascript are are deferred
|
| + during prerendering and the autoplay is enabled during swap ins.
|
| -->
|
| - <head>
|
| - <title>Prerender cancellation for HTML5 video.</title>
|
| - </head>
|
| - <body>
|
| - <div id="vid">
|
| - </div>
|
| -
|
| - <script>
|
| - var videoTag = document.createElement("video");
|
| - videoTag.src = "nonexistant.mp4";
|
| - var element = document.getElementById("vid");
|
| - element.appendChild(videoTag);
|
| - </script>
|
| - </body>
|
| +<head>
|
| +<title>Prerender for HTML5 video.</title>
|
| +</head>
|
| +
|
| +<body>
|
| +<div id="vid">
|
| +</div>
|
| +
|
| +<script>
|
| + var videoTag = document.createElement("video");
|
| + videoTag.src = "bear.ogv"
|
| + videoTag.id = "videoEl";
|
| + var element = document.getElementById("vid");
|
| + element.appendChild(videoTag);
|
| +</script>
|
| +
|
| +<script>
|
| +var canPlaySeen = false;
|
| +var playingSeen = false;
|
| +var hasError = false;
|
| +var canPlayThroughSeen = false;
|
| +
|
| +var videoEl = document.getElementById("videoEl");
|
| +videoEl.play();
|
| +
|
| +function videoEventHandler(e) {
|
| + console.log(e.type);
|
| + if (e.type == 'canplay') {
|
| + canPlaySeen = true;
|
| + } else if (e.type == 'playing') {
|
| + playingSeen = true;
|
| + if (canPlayThroughSeen)
|
| + document.title = "PASS";
|
| + } else if (e.type == 'error') {
|
| + hasError = true;
|
| + } else if (e.type == 'canplaythrough') {
|
| + canPlayThroughSeen = true;
|
| + if (playingSeen)
|
| + document.title = "PASS";
|
| + }
|
| +}
|
| +
|
| +videoEl.addEventListener('playing', videoEventHandler, false);
|
| +videoEl.addEventListener('canplay', videoEventHandler, false);
|
| +videoEl.addEventListener('canplaythrough', videoEventHandler, false);
|
| +videoEl.addEventListener('error', videoEventHandler, false);
|
| +
|
| +function DidPrerenderPass() {
|
| + // The video should not have started at this point.
|
| + return !canPlaySeen && !playingSeen && !hasError &&
|
| + videoEl.currentTime == 0 &&
|
| + videoEl.readyState == videoEl.HAVE_NOTHING;
|
| +}
|
| +
|
| +function DidDisplayPass() {
|
| + // The actual test is done via the TitleWatcher.
|
| + return true;
|
| +}
|
| +
|
| +</script>
|
| +</body>
|
| </html>
|
|
|