<!DOCTYPE html>
<meta charset=utf-8>
<title>cssom-view - elementFromPoint and elementsFromPoint dealing with negative margins</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<body>
<div id="outer" style="background:yellow">
  <div id="inner" style="width:100px; height:100px; margin-bottom:-100px; background:lime;"></div>
  Hello
</div>
<script>
 setup({explicit_done:true});
 window.onload = function () {
   var outer = document.getElementById('outer');
   var inner = document.getElementById('inner');
   var outerRect = outer.getBoundingClientRect();
   test(function () {
     assert_equals(document.elementFromPoint(outerRect.left + 1,
                                             outerRect.top + 1),
                   outer,
                   "elementFromPoint should get outer element");
   });
   test(function () {
     assert_array_equals(document.elementsFromPoint(outerRect.left + 1,
                                                    outerRect.top + 1),
                         [inner, outer, document.body, document.querySelector('html')],
                         "elementsFromPoint should get sequence [inner, outer, body, html]");
   });
   done();
 };
</script>
</body>
