bool SVGSVGElement::checkEnclosure(SVGElement* element, RawPtr<SVGRectTearOff> rect) const { ASSERT(element); document().updateLayoutIgnorePendingStylesheets(); return checkIntersectionOrEnclosure(*element, rect->target()->value(), CheckEnclosure); }
bool SVGGeometryElement::isPointInStroke(RawPtr<SVGPointTearOff> point) const { document().updateLayoutIgnorePendingStylesheets(); // FIXME: Eventually we should support isPointInStroke for display:none elements. if (!layoutObject() || !layoutObject()->isSVGShape()) return false; HitTestRequest request(HitTestRequest::ReadOnly); PointerEventsHitRules hitRules(PointerEventsHitRules::SVG_GEOMETRY_HITTESTING, request, layoutObject()->style()->pointerEvents()); hitRules.canHitFill = false; return toLayoutSVGShape(layoutObject())->nodeAtFloatPointInternal(request, point->target()->value(), hitRules); }
RawPtr<StaticNodeList> SVGSVGElement::getEnclosureList(RawPtr<SVGRectTearOff> rect, SVGElement* referenceElement) const { document().updateLayoutIgnorePendingStylesheets(); return collectIntersectionOrEnclosureList(rect->target()->value(), referenceElement, CheckEnclosure); }