| Index: LayoutTests/fast/events/mouseenter-mouseleave-on-drag.html
|
| diff --git a/LayoutTests/fast/events/mouseenter-mouseleave-on-drag.html b/LayoutTests/fast/events/mouseenter-mouseleave-on-drag.html
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..1a5207ff835cfd6c7f3e35ea623aaaf461af1714
|
| --- /dev/null
|
| +++ b/LayoutTests/fast/events/mouseenter-mouseleave-on-drag.html
|
| @@ -0,0 +1,79 @@
|
| +<!DOCTYPE HTML>
|
| +<script src="../../resources/js-test.js"></script>
|
| +<style>
|
| +#outer {
|
| + background: grey;
|
| + position: absolute;
|
| + left: 100px;
|
| + top: 100px;
|
| + width: 100px;
|
| + height: 100px;
|
| +}
|
| +#inner {
|
| + background: red;
|
| + position: absolute;
|
| + left: 30px;
|
| + top: 30px;
|
| + width: 40px;
|
| + height: 40px;
|
| +}
|
| +</style>
|
| +
|
| +<div id="outer">
|
| + <div id="inner"></div>
|
| +</div>
|
| +
|
| +<div id="console"></div>
|
| +
|
| +<script>
|
| +description("Verifies that dragging mouse in/out of an element doesn't fire redundant mouseenter or mouseleave events (crbug.com/470258)");
|
| +
|
| +var wasInside = {};
|
| +
|
| +function init() {
|
| + ["outer", "inner"].forEach(function(id) {
|
| + wasInside[id] = false;
|
| +
|
| + var targetDiv = document.getElementById(id);
|
| +
|
| + targetDiv.addEventListener("mouseenter", function(event) {
|
| + debug(id + " received mouseenter");
|
| + shouldBeFalse("wasInside['" + id + "']");
|
| + wasInside[id] = true;
|
| + });
|
| +
|
| + targetDiv.addEventListener("mouseleave", function(event) {
|
| + debug(id + " received mouseleave");
|
| + shouldBeTrue("wasInside['" + id + "']");
|
| + wasInside[id] = false;
|
| + });
|
| +
|
| + targetDiv.addEventListener("mousedown", function(event) {
|
| + debug(id + " received mousedown");
|
| + });
|
| +
|
| + targetDiv.addEventListener("mouseup", function(event) {
|
| + debug(id + " received mouseup");
|
| + });
|
| + });
|
| +}
|
| +
|
| +init();
|
| +if (window.eventSender) {
|
| + eventSender.mouseMoveTo(1, 150);
|
| +
|
| + eventSender.mouseMoveTo(110, 150);
|
| + eventSender.mouseDown();
|
| +
|
| + eventSender.mouseMoveTo(140, 150);
|
| + eventSender.mouseMoveTo(150, 150);
|
| + eventSender.mouseMoveTo(160, 150);
|
| +
|
| + eventSender.mouseMoveTo(190, 150);
|
| + eventSender.mouseUp();
|
| +
|
| + eventSender.mouseMoveTo(201, 150);
|
| +} else {
|
| + debug("This test requires eventSender");
|
| +}
|
| +</script>
|
|
|