Chromium Code Reviews| 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..04655a47ca42341866f68cc8a11a95a78232cf1e |
| --- /dev/null |
| +++ b/chrome/test/data/prerender/prerender_page_removes_pending.html |
| @@ -0,0 +1,48 @@ |
| +<html> |
| +<!-- |
| +This test checks to make sure that a pending prerenders which are canceled |
| +while pending never start. |
|
mmenke
2012/12/17 17:08:18
nit "a pending prerenders which are" -> "pending p
gavinp
2012/12/17 20:34:02
Done.
|
| +--> |
| +<link id=thePrerender rel=prerender href="does_not_exist.html" /> |
| +<head> |
| +<title>Prerender Page</title> |
| + |
| +<script> |
| +var pageWasPrerendered = false; |
| + |
| +var receivedPrerenderStartEvents = Array(); |
| +var receivedPrerenderStopEvents = Array(); |
| + |
| +function MakePrerenderStartHandlerForLink(index) { |
| + return function() { receivedPrerenderStartEvents[index] = true; }; |
| +} |
| + |
| +function MakePrerenderStopHandlerForLink(index) { |
| + return function() { receivedPrerenderStopEvents[index] = true; }; |
| +} |
| + |
| +function DidPrerenderPass() { |
| + pageWasPrerendered = true; |
| + var link = document.getElementById('thePrerender'); |
| + if (link) |
| + link.parentElement.removeChild(link) |
| + return !receivedPrerenderStartEvents[1] && !receivedPrerenderStopEvents[1]; |
| +} |
| + |
| +// Make sure DidPrerenderPass() was called first. Otherwise, the page was |
| +// most likely reloaded instead of using the prerendered page. |
| +function DidDisplayPass() { |
| + return pageWasPrerendered && !receivedPrerenderStartEvents[1] && |
| + !receivedPrerenderStopEvents[1]; |
| +} |
| + |
| +var link = document.getElementById('thePrerender'); |
| +link.addEventListener('webkitprerenderstart', |
| + MakePrerenderStartHandlerForLink(1), false); |
| +link.addEventListener('webkitprerenderstop', |
| + MakePrerenderStopHandlerForLink(1), false); |
| +</script> |
| + |
| +</head> |
| +<body></body> |
| +</html> |