| Index: Source/core/layout/line/InlineBox.cpp
|
| diff --git a/Source/core/layout/line/InlineBox.cpp b/Source/core/layout/line/InlineBox.cpp
|
| index e8cb90b521ab422e3e205a8632a1f13069ea48b7..8fd6d9bf11d0aa43888852f867b6484a0eae0a0a 100644
|
| --- a/Source/core/layout/line/InlineBox.cpp
|
| +++ b/Source/core/layout/line/InlineBox.cpp
|
| @@ -20,6 +20,7 @@
|
| #include "config.h"
|
| #include "core/layout/line/InlineBox.h"
|
|
|
| +#include "core/layout/HitTestLocation.h"
|
| #include "core/layout/LayoutBlockFlow.h"
|
| #include "core/layout/LayoutObject.h"
|
| #include "core/layout/PaintInfo.h"
|
| @@ -214,6 +215,14 @@ bool InlineBox::nodeAtPoint(const HitTestRequest& request, HitTestResult& result
|
| if (parent()->layoutObject().hasFlippedBlocksWritingMode()) // Faster than calling containingBlock().
|
| childPoint = layoutObject().containingBlock()->flipForWritingModeForChild(&toLayoutBox(layoutObject()), childPoint);
|
|
|
| + if (layoutObject().style()->hasBorderRadius()) {
|
| + LayoutRect borderRect = logicalFrameRect();
|
| + borderRect.moveBy(accumulatedOffset);
|
| + FloatRoundedRect border = layoutObject().style()->getRoundedBorderFor(borderRect);
|
| + if (!locationInContainer.intersects(border))
|
| + return false;
|
| + }
|
| +
|
| return layoutObject().hitTest(request, result, locationInContainer, childPoint);
|
| }
|
|
|
|
|