OLD | NEW |
1 <html> | 1 <html> |
2 <!-- | 2 <!-- |
3 This test checks to make sure that pending prerenders which are canceled | 3 This test checks to make sure that pending prerenders which are canceled |
4 while pending never start. | 4 while pending never start. |
5 --> | 5 --> |
6 <link id=thePrerender rel=prerender href="does_not_exist.html" /> | 6 <link id=thePrerender rel=prerender href="does_not_exist.html" /> |
7 <head> | 7 <head> |
8 <title>Prerender Page</title> | 8 <title>Prerender Page</title> |
9 | 9 |
| 10 <script src="prerender_events_common.js"></script> |
| 11 |
10 <script> | 12 <script> |
11 var pageWasPrerendered = false; | 13 var pageWasPrerendered = false; |
12 | 14 |
13 var receivedPrerenderStartEvents = []; | |
14 var receivedPrerenderStopEvents = []; | |
15 | |
16 function PrerenderStartHandlerForLink(index) { | |
17 receivedPrerenderStartEvents[index] = true; | |
18 } | |
19 | |
20 function PrerenderStopHandlerForLink(index) { | |
21 receivedPrerenderStopEvents[index] = true; | |
22 } | |
23 | |
24 function DidPrerenderPass() { | 15 function DidPrerenderPass() { |
25 pageWasPrerendered = true; | 16 pageWasPrerendered = true; |
26 var link = document.getElementById('thePrerender'); | 17 var link = document.getElementById('thePrerender'); |
27 if (link) | 18 if (link) |
28 link.parentElement.removeChild(link) | 19 link.parentElement.removeChild(link) |
29 return !receivedPrerenderStartEvents[0] && !receivedPrerenderStopEvents[0]; | 20 return !receivedPrerenderStartEvents[0] && !receivedPrerenderStopEvents[0]; |
30 } | 21 } |
31 | 22 |
32 // Make sure DidPrerenderPass() was called first. Otherwise, the page was | 23 // Make sure DidPrerenderPass() was called first. Otherwise, the page was |
33 // most likely reloaded instead of using the prerendered page. | 24 // most likely reloaded instead of using the prerendered page. |
34 function DidDisplayPass() { | 25 function DidDisplayPass() { |
35 return pageWasPrerendered && !receivedPrerenderStartEvents[0] && | 26 return pageWasPrerendered && !receivedPrerenderStartEvents[0] && |
36 !receivedPrerenderStopEvents[0]; | 27 !receivedPrerenderStopEvents[0]; |
37 } | 28 } |
38 | 29 |
39 var link = document.getElementById('thePrerender'); | 30 var link = document.getElementById('thePrerender'); |
40 link.addEventListener('webkitprerenderstart', | 31 AddEventHandlersToLink(link, 0); |
41 PrerenderStartHandlerForLink.bind(null, 0), false); | |
42 link.addEventListener('webkitprerenderstop', | |
43 PrerenderStopHandlerForLink.bind(null, 0), false); | |
44 </script> | 32 </script> |
45 | 33 |
46 </head> | 34 </head> |
47 <body></body> | 35 <body></body> |
48 </html> | 36 </html> |
OLD | NEW |