| <script> |
| if (window.testRunner) { |
| testRunner.dumpAsText(); |
| testRunner.waitUntilDone(); |
| } |
| |
| var iterationCount = 0; |
| var maxIterations = 20; |
| var firstFrameText = null; |
| var foundDifferentTextAtLeastOnce = false; |
| |
| function runIteration() |
| { |
| setTimeout(function() { |
| if (window.eventSender) { |
| var el = document.getElementById("testLink"); |
| eventSender.mouseMoveTo(el.offsetLeft + 5, el.offsetTop + 5); |
| eventSender.mouseDown(); |
| eventSender.mouseUp(); |
| } |
| }, 0); |
| } |
| |
| function frameLoaded() |
| { |
| if (frames[0].document.URL == "about:blank") |
| return; |
| |
| if (firstFrameText == null) |
| firstFrameText = frames[0].document.body.innerText; |
| |
| if (firstFrameText != frames[0].document.body.innerText) |
| foundDifferentTextAtLeastOnce = true; |
| |
| ++iterationCount; |
| |
| if (iterationCount == maxIterations) { |
| if (foundDifferentTextAtLeastOnce) |
| alert("Success: A different page was loaded at least once."); |
| else |
| alert("Failure: From the perspective of this script, the same page was loaded " + maxIterations + " times. This is highly unlikely."); |
| |
| if (window.testRunner) |
| testRunner.notifyDone(); |
| } else { |
| runIteration(); |
| } |
| } |
| |
| </script> |
| <body onload="runIteration();"> |
| This test clicks a link that loads a URL into an iframe.<br> |
| The URL redirects to a different, random URL every time the link is clicked.<br> |
| When main resources are in the memory cache they are keyed off the original URL, not the post-redirect URL.<br> |
| In the case where the redirect takes us to a different URL than the CachedResource we're revalidating, we need to abort the revalidate and issue an unconditional request.<br> |
| <br> |
| This test makes sure that trying the random redirect multiple times results in at least one different load result.<br> |
| Since the nature of this test is "random redirects", it runs enough multiple iterations to make it very likely we'll get at least one different redirect.<br> |
| <a id="testLink" href="http://127.0.0.1:8000/navigation/resources/randomredirects/randomredirect.php" target="linkTarget">Click for random redirect</a><br> |
| <iframe name="linkTarget" onload="frameLoaded();"><br> |
| </body> |
| |