| Index: chrome/test/data/prerender/prerender_html5_audio_autoplay.html
|
| diff --git a/chrome/test/data/prerender/prerender_html5_audio_autoplay.html b/chrome/test/data/prerender/prerender_html5_audio_autoplay.html
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..66e207fbba56d6c2289ee397d5f5b0ad4989a1de
|
| --- /dev/null
|
| +++ b/chrome/test/data/prerender/prerender_html5_audio_autoplay.html
|
| @@ -0,0 +1,61 @@
|
| +<html>
|
| + <!--
|
| + This test checks that:
|
| + - Audio tags are deferred during prerendering.
|
| + - The audio starts playing on page swap in when autoplay is set.
|
| + -->
|
| +<head>
|
| +<title>Prerender for HTML5 audio.</title>
|
| +</head>
|
| +
|
| +<body>
|
| +<audio id="audioEl" controls autoplay>
|
| + <source src="bear.wav" type="audio/wav" />
|
| +</audio>
|
| +
|
| +<script>
|
| +var canPlaySeen = false;
|
| +var playingSeen = false;
|
| +var canPlayThroughSeen = false;
|
| +var hasError = false;
|
| +
|
| +var audioEl = document.getElementById("audioEl");
|
| +
|
| +function audioEventHandler(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";
|
| + }
|
| +}
|
| +
|
| +audioEl.addEventListener('playing', audioEventHandler, false);
|
| +audioEl.addEventListener('canplay', audioEventHandler, false);
|
| +audioEl.addEventListener('canplaythrough', audioEventHandler, false);
|
| +audioEl.addEventListener('error', audioEventHandler, false);
|
| +
|
| +function DidPrerenderPass() {
|
| + // The audio should not have started at this point.
|
| + return !canPlaySeen && !playingSeen && !hasError &&
|
| + audioEl.currentTime == 0 &&
|
| + audioEl.readyState == audioEl.HAVE_NOTHING;
|
| +}
|
| +
|
| +function DidDisplayPass() {
|
| + // The actual test is done via the TitleWatcher.
|
| + return true;
|
| +}
|
| +
|
| +</script>
|
| +</body>
|
| +</html>
|
|
|