<!--Test file for ClientCancelled redirect_uitest. This tests that a location change when a pending 
client redirect exists (in this case a meta-refresh) isn't flagged as a client redirect. The timeout 
for the meta-refresh is large so that it can't happen during this test; we just want it to be scheduled. 
We can't use a body onload to do the location change, because this will end up firing before the 
meta-refresh timer is scheduled, so we use a non-zero timeout of 1msec for this. -->
<html>
  <head>
    <meta http-equiv="refresh" content="20000">
    <script>
      function clickHandler() {
        document.location = "#myanchor";
        return true;
      }
    </script>
  </head>
  <body onclick="clickHandler();">
	  <input type="button" id="mybutton" onclick="document.location='#myanchor'"/>
      	  <a name="myanchor">Anchor</a><br/>
  </body>
</html>
