diff options
Diffstat (limited to 'dom/events/test/file_mouse_enterleave.html')
-rw-r--r-- | dom/events/test/file_mouse_enterleave.html | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/dom/events/test/file_mouse_enterleave.html b/dom/events/test/file_mouse_enterleave.html new file mode 100644 index 0000000000..2a5bc743f7 --- /dev/null +++ b/dom/events/test/file_mouse_enterleave.html @@ -0,0 +1,45 @@ +<html> +<body> +<style> +#target { + width: 100%; + height: 100%; +} +#reflow { + width: 100%; + height: 10px; + background-color: red; +} +</style> +<div id="target"></div> +<div id="reflow"></div> +<script> +function listener(e) { + parent.postMessage({ eventType: e.type, targetName: e.target.localName }, "*"); +} + +window.addEventListener("message", function(aEvent) { + if (aEvent.data === "reflow") { + let reflow = document.getElementById("reflow"); + reflow.style.display = "none"; + reflow.getBoundingClientRect(); + reflow.style.display = "block"; + reflow.getBoundingClientRect(); + + // Now wait a bit to see if there is any unexpected events fired. + requestAnimationFrame( + () => parent.postMessage({ eventType: "reflowed" }, "*") + ); + } +}); + +let target = document.getElementById("target"); +target.addEventListener("mouseenter", listener); +target.addEventListener("mouseleave", listener); + +let root = document.documentElement; +root.addEventListener("mouseenter", listener); +root.addEventListener("mouseleave", listener); +</script> +</body> +</html> |