<!DOCTYPE html>
<html>
  <head>
    <title>dispatchEvent from child frame during document.write :-o </title>
    <script src="/resources/testharness.js"></script>
    <script src="/resources/testharnessreport.js"></script>
    <script src="testlib/testlib.js"></script>
    </head>
    <body onclick="log('click event')">
      <div id="log">FAILED (This TC requires JavaScript enabled)</div>

      <iframe></iframe>
      <script>
        var doc = document.getElementsByTagName("iframe")[0].contentDocument;
        doc.open("text/html");
        doc.write('<html><head><title>event dispatcher</title></head><body>Before script<script>top.log("inline script before event");var ev = parent.document.createEvent("MouseEvents");ev.initMouseEvent("click", true, false, null, 0, 0, 0, 0, 0, false, false, false, false, 0, null);parent.document.body.dispatchEvent(ev);top.log("inline script after event");</sc'+'ript> After script</body>');
          log( 'end main script' );


      </script>

<script>
    var t = async_test()

    function test() {
      if(test.ran)return; test.ran=true;

      assert_array_equals(eventOrder, ['inline script before event',
                                       'click event',
                                       'inline script after event',
                                       'end main script'
        ]);
      doc.close();
      t.done();
}

    onload = t.step_func(test)
    /* onload doesn't fire in this test, a fallback.. */
    setTimeout(t.step_func(test), 800 );
</script>
  </body>
</html>
