Index: third_party/WebKit/Source/core/layout/svg/LayoutSVGText.cpp |
diff --git a/third_party/WebKit/Source/core/layout/svg/LayoutSVGText.cpp b/third_party/WebKit/Source/core/layout/svg/LayoutSVGText.cpp |
index d5c12da2cdad6c98a2e8ff24bb65f5c1dd66ed28..22cffbd6544f8065a21bc62131f8ad2e5d6b17ab 100644 |
--- a/third_party/WebKit/Source/core/layout/svg/LayoutSVGText.cpp |
+++ b/third_party/WebKit/Source/core/layout/svg/LayoutSVGText.cpp |
@@ -452,14 +452,17 @@ PositionWithAffinity LayoutSVGText::positionForPoint(const LayoutPoint& pointInC |
if (!rootBox) |
return createPositionWithAffinity(0); |
+ LayoutPoint clippedPointInContents(pointInContents); |
+ clippedPointInContents.clampNegativeToZero(); |
+ |
ASSERT(!rootBox->nextRootBox()); |
ASSERT(childrenInline()); |
- InlineBox* closestBox = toSVGRootInlineBox(rootBox)->closestLeafChildForPosition(pointInContents); |
+ InlineBox* closestBox = toSVGRootInlineBox(rootBox)->closestLeafChildForPosition(clippedPointInContents); |
if (!closestBox) |
return createPositionWithAffinity(0); |
- return closestBox->lineLayoutItem().positionForPoint(LayoutPoint(pointInContents.x(), closestBox->y())); |
+ return closestBox->lineLayoutItem().positionForPoint(LayoutPoint(clippedPointInContents.x(), closestBox->y())); |
} |
void LayoutSVGText::absoluteQuads(Vector<FloatQuad>& quads, bool* wasFixed) const |