<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
        "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<script>
    
    function reportSuccess() {
        if (document.getElementById("console").firstChild.nodeValue == "FAILURE") {
            document.getElementById("console").firstChild.nodeValue = "PROCESSING...";
            document.getElementById("anIFrame").contentWindow.location.href = "resources/purple.html";
        } else {
            document.getElementById("console").firstChild.nodeValue = "SUCCESS";
            layoutTestController.notifyDone();
        }
    }
    
</script>
</head>
<body>
  <script>
    if (window.layoutTestController) {
        layoutTestController.dumpAsText();
        layoutTestController.waitUntilDone();
    }
  </script>

<p>Test for <a href="http://bugzilla.opendarwin.org/show_bug.cgi?id=3400">bug 3400</a>: setting the .src of an iframe to the same value does not reload page.</p>
<p>Testing that setting contentWindow.location.href to the same value works</p>
<p id=console>FAILURE</p>
<iframe style="width:350px;border:dotted green 1px" width="200" height="200" id="anIFrame" onload="javascript:reportSuccess()" src="resources/purple.html"></iframe>
</body>
</html>
