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