Index: Source/core/rendering/svg/RenderSVGShape.cpp |
diff --git a/Source/core/rendering/svg/RenderSVGShape.cpp b/Source/core/rendering/svg/RenderSVGShape.cpp |
index dd301c99e23341a9a12856f336504f09651428ae..ea6add29f7e7f432914447bd4ccebfd2c7355f17 100644 |
--- a/Source/core/rendering/svg/RenderSVGShape.cpp |
+++ b/Source/core/rendering/svg/RenderSVGShape.cpp |
@@ -325,7 +325,8 @@ bool RenderSVGShape::nodeAtFloatPoint(const HitTestRequest& request, HitTestResu |
WindRule fillRule = svgStyle->fillRule(); |
if (request.svgClipContent()) |
fillRule = svgStyle->clipRule(); |
- if ((hitRules.canHitStroke && (svgStyle->hasStroke() || !hitRules.requireStroke) && strokeContains(localPoint, hitRules.requireStroke)) |
+ if ((hitRules.canHitBoundingBox && objectBoundingBox().contains(localPoint)) |
+ || (hitRules.canHitStroke && (svgStyle->hasStroke() || !hitRules.requireStroke) && strokeContains(localPoint, hitRules.requireStroke)) |
|| (hitRules.canHitFill && (svgStyle->hasFill() || !hitRules.requireFill) && fillContains(localPoint, hitRules.requireFill, fillRule))) { |
updateHitTestResult(result, roundedLayoutPoint(localPoint)); |
return true; |