<!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").src = "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 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>
