<script>
function loaded() {
    if (window.layoutTestController)
        layoutTestController.notifyDone();
}
</script>
<body onload="loaded()">
This text successfully replaced the original text in the frame. Test succeeded!
</body>
