Index: Source/core/layout/line/InlineFlowBox.cpp |
diff --git a/Source/core/layout/line/InlineFlowBox.cpp b/Source/core/layout/line/InlineFlowBox.cpp |
index 1a072b6271391cb9f8b693cfadb928454ad1a5bf..de1d1aaa21c1fd29b1b6fdaca9258b16e03bb40c 100644 |
--- a/Source/core/layout/line/InlineFlowBox.cpp |
+++ b/Source/core/layout/line/InlineFlowBox.cpp |
@@ -1012,6 +1012,14 @@ bool InlineFlowBox::nodeAtPoint(const HitTestRequest& request, HitTestResult& re |
culledParent = culledParent->parent(); |
} |
+ if (layoutObject().style()->hasBorderRadius()) { |
+ LayoutRect borderRect = logicalFrameRect(); |
+ borderRect.moveBy(accumulatedOffset); |
+ FloatRoundedRect border = layoutObject().style()->getRoundedBorderFor(borderRect, includeLogicalLeftEdge(), includeLogicalRightEdge()); |
+ if (!locationInContainer.intersects(border)) |
+ return false; |
+ } |
+ |
// Now check ourselves. Pixel snap hit testing. |
LayoutRect frameRect(roundedFrameRect()); |
LayoutUnit minX = frameRect.x(); |