<!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>
