| Index: Source/core/rendering/RenderBlock.cpp | 
| diff --git a/Source/core/rendering/RenderBlock.cpp b/Source/core/rendering/RenderBlock.cpp | 
| index 87e0beedb05291c078147aa406c6a8ed9d16d69e..5663fc4a04dd00eb9e2e8c08798bd6730428d897 100644 | 
| --- a/Source/core/rendering/RenderBlock.cpp | 
| +++ b/Source/core/rendering/RenderBlock.cpp | 
| @@ -2765,6 +2765,21 @@ bool RenderBlock::nodeAtPoint(const HitTestRequest& request, HitTestResult& resu | 
| return true; | 
| } | 
|  | 
| +    if (style()->clipPath()) { | 
| +        switch (style()->clipPath()->type()) { | 
| +        case ClipPathOperation::SHAPE: { | 
| +            ShapeClipPathOperation* clipPath = toShapeClipPathOperation(style()->clipPath()); | 
| +            // FIXME: handle marginBox etc. | 
| +            if (!clipPath->path(borderBoxRect()).contains(locationInContainer.point() - localOffset, clipPath->windRule())) | 
| +                return false; | 
| +            break; | 
| +        } | 
| +        case ClipPathOperation::REFERENCE: | 
| +            // FIXME: handle REFERENCE | 
| +            break; | 
| +        } | 
| +    } | 
| + | 
| // If we have clipping, then we can't have any spillout. | 
| bool useOverflowClip = hasOverflowClip() && !hasSelfPaintingLayer(); | 
| bool useClip = (hasControlClip() || useOverflowClip); | 
|  |