| <!DOCTYPE html> |
| <script src="../../../resources/testharness.js"></script> |
| <script src="../../../resources/testharnessreport.js"></script> |
| <div id="container"> |
| <span id="innerSpan1">This is in a inline element</span> |
| <span id="innerSpan2"><span id="innerSpan3"><span id="innerSpan4">This is in culled inline elements</span></span></span> |
| </div> |
| <div id="log"></div> |
| <script> |
| test(function(t) |
| { |
| var span = document.getElementById("innerSpan1"); |
| var x = span.offsetLeft + span.offsetWidth / 2; |
| var y = span.offsetTop + span.offsetHeight / 2; |
| |
| var elements = document.elementsFromPoint(x, y); |
| assert_equals(elements.length, 4); |
| assert_equals(elements[0].id, 'innerSpan1'); |
| assert_equals(elements[1].id, 'container'); |
| assert_equals(elements[2].nodeName, 'BODY'); |
| assert_equals(elements[3].nodeName, 'HTML'); |
| |
| var span = document.getElementById("innerSpan4"); |
| var x = span.offsetLeft + span.offsetWidth / 2; |
| var y = span.offsetTop + span.offsetHeight / 2; |
| |
| var elements = document.elementsFromPoint(x, y); |
| assert_equals(elements.length, 6); |
| assert_equals(elements[0].id, 'innerSpan4'); |
| assert_equals(elements[1].id, 'innerSpan3'); |
| assert_equals(elements[2].id, 'innerSpan2'); |
| assert_equals(elements[3].id, 'container'); |
| assert_equals(elements[4].nodeName, 'BODY'); |
| assert_equals(elements[5].nodeName, 'HTML'); |
| }, "elementsFromPoint should return all elements under a point"); |
| </script> |