<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) {
        testRunner.waitUntilDone();
    }
    getImg();
    document.getElementById("right").contentWindow.location.href = "about:blank";
    if (window.testRunner) {
        setTimeout("setImg(); testRunner.notifyDone();",100);
    }
    else {
        setTimeout("setImg();",100);
    }

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

