| <html> |
| <!-- |
| This test checks to make sure that redirects are deferred. |
| --> |
| <head> |
| <title>Prerender deferred redirect</title> |
| </head> |
| <body> |
| <script> |
| var imageWasLoaded = false; |
| |
| var prefix = ""; |
| if (location.hash == "#double_redirect") |
| prefix = "/server-redirect?"; |
| |
| // Insert a deferred redirect into the document. |
| var image = new Image(); |
| image.src = prefix + "/prerender/image-deferred.png"; |
| image.onload = function() { |
| imageWasLoaded = true; |
| }; |
| document.body.appendChild(image); |
| |
| // Make sure the image was not loaded while prerendering. |
| function DidPrerenderPass() { |
| return !imageWasLoaded; |
| } |
| |
| // Make sure the image is loaded once the page is displayed. |
| function DidDisplayPass() { |
| return imageWasLoaded; |
| } |
| |
| // Wait for a sibling image to load before calling DidPrerenderPass. |
| // TODO(davidben): Wait on something more reasonable. This should |
| // still pass reliably, but will only fail flakily on regression. |
| var image2 = new Image(); |
| image2.src = prefix + "/prerender/image-redirect.png"; |
| image2.onload = function() { |
| document.title = "READY"; |
| }; |
| document.body.appendChild(image2); |
| </script> |
| </body> |
| </html> |