<html>
<head>
  <script>
    function putText() {
      if (window.testRunner) {
          testRunner.dumpAsText();
          testRunner.dumpChildFramesAsText();
      }
      var t = document.getElementById("t_frame");
      var b = document.getElementById("b_frame");

      var dv = t.contentDocument.getElementById("my_div");
      dv.innerText = "Testing contentWindow on Frames. Test passes if there is a 'PASS' line.\n";
      var result = b.contentWindow.location == "about:blank" ? "PASS" : "FAIL";
      dv.innerText += result;
    }
    window.onload = putText;
  </script>

</head>
  <FRAMESET rows="30%, 70%">
      <FRAME id="t_frame" name="top" src="resources/frame_top.html">
      <FRAME id="b_frame" name="bottom" src="about:blank">
 </FRAMESET>

</html>
