<html>
<head>
<script>
var im;
function getImg() {
    im =  document.getElementById("right").contentDocument.getElementById("img");
}
function setImg() {
    im.src = "resources/mozilla.gif";
}

function init() {
    if (window.testRunner) {
        window.testRunner.waitUntilDone();
    }
    getImg();
    document.getElementById("right").contentWindow.location.href = "about:blank";
    if (window.testRunner) {
        setTimeout("setImg(); window.testRunner.notifyDone();",100);
    }
    else {
        setTimeout("setImg();",100);
    }

}
</script>
</head>
<body onload=init()>
<iframe id="right" src="resources/top.html"></iframe>
</body>
</html>

