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