<!DOCTYPE HTML>
<script src="../../resources/js-test.js"></script>
<style>
.box {
position: absolute;
top: 20px;
left: 20px;
height: 100px;
width: 100px;
}
#outer {
background-color: grey;
}
#inner {
background-color: red;
}
</style>
<div id="outer" class="box">
<div id="inner" class="box"></div>
</div>
<div id="console"></div>
<script>
description("Verifies that mouse events are not fired on deleted nodes (crbug.com/515921)");
function eventLogger(event) {
if (event.eventPhase == Event.AT_TARGET)
debug(event.currentTarget.id + " received " + event.type);
}
function init() {
var outer = document.getElementById("outer");
var inner = document.getElementById("inner");
["mouseenter", "mouseleave", "mouseover", "mouseout"].forEach(function(event){
outer.addEventListener(event, eventLogger);
inner.addEventListener(event, eventLogger);
});
outer.addEventListener("click", function () {
outer.removeChild(inner);
debug("removed inner");
});
}
init();
if (window.eventSender) {
eventSender.mouseMoveTo(30, 30);
eventSender.mouseMoveTo(130, 130);
eventSender.mouseDown();
eventSender.mouseUp();
eventSender.mouseMoveTo(30, 30);
} else {
debug("This test requires eventSender");
}
</script>