<!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";
            testRunner.notifyDone();
        }
    }
    
</script>
</head>
<body>
  <script>
    if (window.testRunner) {
        testRunner.dumpAsText();
        testRunner.waitUntilDone();
    }
  </script>

<p>Test for <a href="https://bugs.webkit.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>
