(element)
| 44 | } |
| 45 | |
| 46 | function getPointerInteractablePaintTree(element) { |
| 47 | let elementDocument = element.ownerDocument; |
| 48 | if (!elementDocument.contains(element)) { |
| 49 | return []; |
| 50 | } |
| 51 | |
| 52 | var rectangles = element.getClientRects(); |
| 53 | |
| 54 | if (rectangles.length === 0) { |
| 55 | return []; |
| 56 | } |
| 57 | |
| 58 | var centerPoint = getInViewCenterPoint(rectangles[0]); |
| 59 | |
| 60 | if ("elementsFromPoint" in elementDocument) { |
| 61 | return elementDocument.elementsFromPoint(centerPoint[0], centerPoint[1]); |
| 62 | } else if ("msElementsFromPoint" in elementDocument) { |
| 63 | var rv = elementDocument.msElementsFromPoint(centerPoint[0], centerPoint[1]); |
| 64 | return Array.prototype.slice.call(rv ? rv : []); |
| 65 | } else { |
| 66 | throw new Error("document.elementsFromPoint unsupported"); |
| 67 | } |
| 68 | } |
| 69 | |
| 70 | function inView(element) { |
| 71 | var pointerInteractablePaintTree = getPointerInteractablePaintTree(element); |
no test coverage detected