chromium/third_party/blink/web_tests/fast/events/set-event-in-another-frame.html

<html>
<head>
<script>
if (window.testRunner) {
    testRunner.dumpAsText();
    testRunner.waitUntilDone();
}

function log(msg) {
    var line = document.createElement('div');
    line.appendChild(document.createTextNode(msg));
    document.getElementById('console').appendChild(line);
}

function getEvent() {
    var target = frames[1].window;
    var newEvent = frames[1].document.createEvent("MouseEvent");
    newEvent.initMouseEvent("mouseover", false, false, window, 0, 10, 10, 10, 10, false, false, false, false, 0, target);
    target.dispatchEvent(newEvent);
}


var testStarted = false;
function doTest() {
  if (testStarted)
      return;

  testStarted = true;
  frames[0].location = "javascript:" +
      "window.myeventnull = function() { parent.frames[1].window.event = null; };" +
      "window.myeventreal = function() { parent.frames[1].window.event = parent.getEvent(); };" +
      "parent.log('Helpers loaded!\\n');" +
      "parent.setTimeout('continueTest()', 10);";
}

function continueTest() {
    log('--- Test begins ---\n');
    log('window.event = ' + frames[1].window.event + '\n');
    log('--- After window.event = null ---\n');
    frames[0].myeventnull();
    log('window.event = ' + frames[1].window.event + '\n');
    log('--- After MouseEvent completes ---\n');
    frames[0].myeventreal();
    log('window.event = ' + frames[1].window.event + '\n');
    log('--- Test ends ---\n');

    testRunner.notifyDone();
}
</script>
</head>
<body onload="doTest()">
<iframe src="about:blank"></iframe>
<iframe src=""></iframe>
<div id="console"></div>
</body>
</html>