| Index: Source/core/rendering/RenderBlock.cpp
|
| diff --git a/Source/core/rendering/RenderBlock.cpp b/Source/core/rendering/RenderBlock.cpp
|
| index f535ada36d9386c241ee0a911d7a57fa61946066..ae05a0eb0b75a55462c63c3be1302c25249ae75a 100644
|
| --- a/Source/core/rendering/RenderBlock.cpp
|
| +++ b/Source/core/rendering/RenderBlock.cpp
|
| @@ -7340,6 +7340,22 @@ void RenderBlock::addFocusRingRects(Vector<IntRect>& rects, const LayoutPoint& a
|
| inlineElementContinuation()->addFocusRingRects(rects, flooredLayoutPoint(additionalOffset + inlineElementContinuation()->containingBlock()->location() - location()), paintContainer);
|
| }
|
|
|
| +void RenderBlock::computeSelfHitTestRects(Vector<LayoutRect>& rects, const LayoutPoint& layerOffset) const
|
| +{
|
| + RenderBox::computeSelfHitTestRects(rects, layerOffset);
|
| +
|
| + if (hasHorizontalLayoutOverflow() || hasVerticalLayoutOverflow()) {
|
| + for (RootInlineBox* curr = firstRootBox(); curr; curr = curr->nextRootBox()) {
|
| + LayoutUnit top = max<LayoutUnit>(curr->lineTop(), curr->top());
|
| + LayoutUnit bottom = min<LayoutUnit>(curr->lineBottom(), curr->top() + curr->height());
|
| + LayoutRect rect(layerOffset.x() + curr->x(), layerOffset.y() + top, curr->width(), bottom - top);
|
| + // It's common for this rect to be entirely contained in our box, so exclude that simple case.
|
| + if (!rect.isEmpty() && (rects.isEmpty() || !rects[0].contains(rect)))
|
| + rects.append(rect);
|
| + }
|
| + }
|
| +}
|
| +
|
| RenderBox* RenderBlock::createAnonymousBoxWithSameTypeAs(const RenderObject* parent) const
|
| {
|
| if (isAnonymousColumnsBlock())
|
|
|