| Index: chrome/test/data/prerender/prerender_page_removes_pending.html
|
| diff --git a/chrome/test/data/prerender/prerender_page_removes_pending.html b/chrome/test/data/prerender/prerender_page_removes_pending.html
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..e6797c4a5c0a88c272039aaa886c2f01a2e9dd9e
|
| --- /dev/null
|
| +++ b/chrome/test/data/prerender/prerender_page_removes_pending.html
|
| @@ -0,0 +1,48 @@
|
| +<html>
|
| +<!--
|
| +This test checks to make sure that pending prerenders which are canceled
|
| +while pending never start.
|
| +-->
|
| +<link id=thePrerender rel=prerender href="does_not_exist.html" />
|
| +<head>
|
| +<title>Prerender Page</title>
|
| +
|
| +<script>
|
| +var pageWasPrerendered = false;
|
| +
|
| +var receivedPrerenderStartEvents = [];
|
| +var receivedPrerenderStopEvents = [];
|
| +
|
| +function PrerenderStartHandlerForLink(index) {
|
| + receivedPrerenderStartEvents[index] = true;
|
| +}
|
| +
|
| +function PrerenderStopHandlerForLink(index) {
|
| + receivedPrerenderStopEvents[index] = true;
|
| +}
|
| +
|
| +function DidPrerenderPass() {
|
| + pageWasPrerendered = true;
|
| + var link = document.getElementById('thePrerender');
|
| + if (link)
|
| + link.parentElement.removeChild(link)
|
| + return !receivedPrerenderStartEvents[0] && !receivedPrerenderStopEvents[0];
|
| +}
|
| +
|
| +// Make sure DidPrerenderPass() was called first. Otherwise, the page was
|
| +// most likely reloaded instead of using the prerendered page.
|
| +function DidDisplayPass() {
|
| + return pageWasPrerendered && !receivedPrerenderStartEvents[0] &&
|
| + !receivedPrerenderStopEvents[0];
|
| +}
|
| +
|
| +var link = document.getElementById('thePrerender');
|
| +link.addEventListener('webkitprerenderstart',
|
| + PrerenderStartHandlerForLink.bind(null, 0), false);
|
| +link.addEventListener('webkitprerenderstop',
|
| + PrerenderStopHandlerForLink.bind(null, 0), false);
|
| +</script>
|
| +
|
| +</head>
|
| +<body></body>
|
| +</html>
|
|
|