| <!doctype html> | |
| <meta charset="utf-8"> | |
| <title>Overflow: clip hit testing doesn't include overflow: clip</title> | |
| <link rel="help" href="https://www.w3.org/TR/css-overflow-3/#valdef-overflow-clip"> | |
| <link rel="author" title="Scott Violet" href="mailto:sky@chromium.org"> | |
| <script src="/resources/testharness.js"></script> | |
| <script src="/resources/testharnessreport.js"></script> | |
| <style> | |
| .parent { | |
| width: 100px; | |
| height: 100px; | |
| flex: none; | |
| } | |
| .child1, .child2 { | |
| width: 100px; | |
| height: 100px; | |
| flex: none; | |
| } | |
| .child1 { | |
| background-color: green; | |
| } | |
| .child2 { | |
| background-color: red; | |
| } | |
| </style> | |
| <div class="parent" style="display: flex; overflow-x: visible; overflow-y: clip"> | |
| <div id="c1" class="child1"></div> | |
| <div id="hit1" class="child2"></div> | |
| </div> | |
| <div class="parent" style="overflow-x: clip; overflow-y: visible"> | |
| <div id="c2" class="child1"></div> | |
| <div id="hit2" class="child2"></div> | |
| </div> | |
| <script> | |
| test(() => { | |
| var c1Bounds = document.getElementById("c1").getBoundingClientRect(); | |
| var hitElement = document.elementFromPoint(c1Bounds.x + 150, | |
| c1Bounds.y + 50); | |
| assert_equals(hitElement.id, "hit1"); | |
| var c2Bounds = document.getElementById("c2").getBoundingClientRect(); | |
| hitElement = document.elementFromPoint(c2Bounds.x + 50, | |
| c2Bounds.y + 150); | |
| assert_equals(hitElement.id, "hit2"); | |
| }, "Ensure elements in overflow:visible are returned from elementFromPoint"); | |
| </script> |