<!DOCTYPE html>
<html>
<head>
<script>
function log(message) {
    document.getElementById('console').innerHTML += (message + "\n");
}

function logMouseEvent(ev) {
    var target = (ev.target)? ev.target : ev.srcElement;
    if (target.id) {
        log(ev.type + " on " + target.id);
    }
}

function doTest() {
    document.body.offsetLeft;
    document.body.addEventListener('mouseenter',logMouseEvent,true);
    document.body.addEventListener('mouseleave',logMouseEvent,true);
    if (window.testRunner) {
        eventSender.mouseMoveTo(1, 1);
        eventSender.mouseMoveTo(90,140);
        eventSender.mouseMoveTo(110,140);
        eventSender.mouseMoveTo(130,140);
        eventSender.mouseMoveTo(170,140);
        eventSender.mouseMoveTo(180,140);
        eventSender.mouseMoveTo(210,140);

        testRunner.dumpAsText();
    }
}
</script>
</head>
<body onload="doTest()">
<div id="outer1" style="width:100px; height:100px; background-color:blue; top:100px; left:100px; position:absolute">
<div id="inner1" style="width:50px; height:50px; background-color:red; top:20px; left:20px; position:absolute">
</div>
<div id="inner2" style="width:20px; height:20px; background-color:yellow; top:30px; left:60px; position:absolute">
<div id="inner3" style="margin:5px; width:10px; height:10px; background-color:green;">
</div>
</div>
</div>
<pre id="console"></pre>
</body>
</html>
