| Index: third_party/WebKit/Source/core/layout/LayoutInline.cpp
|
| diff --git a/third_party/WebKit/Source/core/layout/LayoutInline.cpp b/third_party/WebKit/Source/core/layout/LayoutInline.cpp
|
| index 0b3898f6c737037e6973cd57edcfba2cf7bb16e4..c3104523b7d629a71a5a5407d3d1a790c58d41b8 100644
|
| --- a/third_party/WebKit/Source/core/layout/LayoutInline.cpp
|
| +++ b/third_party/WebKit/Source/core/layout/LayoutInline.cpp
|
| @@ -1021,8 +1021,11 @@ LayoutRect LayoutInline::linesVisualOverflowBoundingBox() const
|
|
|
| LayoutRect LayoutInline::absoluteClippedOverflowRect() const
|
| {
|
| - if (!continuation())
|
| - return clippedOverflowRect(view());
|
| + if (!continuation()) {
|
| + LayoutRect rect = visualOverflowRect();
|
| + mapToVisibleRectInAncestorSpace(view(), rect, nullptr);
|
| + return rect;
|
| + }
|
|
|
| FloatRect floatResult;
|
| LinesBoundingBoxGeneratorContext context(floatResult);
|
| @@ -1033,34 +1036,28 @@ LayoutRect LayoutInline::absoluteClippedOverflowRect() const
|
|
|
| for (LayoutBlock* currBlock = containingBlock(); currBlock && currBlock->isAnonymousBlock(); currBlock = toLayoutBlock(currBlock->nextSibling())) {
|
| for (LayoutObject* curr = currBlock->firstChild(); curr; curr = curr->nextSibling()) {
|
| - LayoutRect rect(curr->clippedOverflowRectForPaintInvalidation(view()));
|
| + LayoutRect rect(curr->localOverflowRectForPaintInvalidation());
|
| context(FloatRect(rect));
|
| - if (curr == endContinuation)
|
| - return LayoutRect(enclosingIntRect(floatResult));
|
| + if (curr == endContinuation) {
|
| + LayoutRect rect(enclosingIntRect(floatResult));
|
| + mapToVisibleRectInAncestorSpace(view(), rect, nullptr);
|
| + return rect;
|
| + }
|
| }
|
| }
|
| return LayoutRect();
|
| }
|
|
|
| -LayoutRect LayoutInline::clippedOverflowRectForPaintInvalidation(const LayoutBoxModelObject* paintInvalidationContainer, const PaintInvalidationState* paintInvalidationState) const
|
| +LayoutRect LayoutInline::localOverflowRectForPaintInvalidation() const
|
| {
|
| // If we don't create line boxes, we don't have any invalidations to do.
|
| if (!alwaysCreateLineBoxes())
|
| return LayoutRect();
|
| - return clippedOverflowRect(paintInvalidationContainer);
|
| -}
|
|
|
| -LayoutRect LayoutInline::clippedOverflowRect(const LayoutBoxModelObject* paintInvalidationContainer, const PaintInvalidationState* paintInvalidationState) const
|
| -{
|
| if (style()->visibility() != VISIBLE)
|
| return LayoutRect();
|
|
|
| - LayoutRect overflowRect(visualOverflowRect());
|
| - if (overflowRect.isEmpty())
|
| - return overflowRect;
|
| -
|
| - mapToVisibleRectInAncestorSpace(paintInvalidationContainer, overflowRect, paintInvalidationState);
|
| - return overflowRect;
|
| + return visualOverflowRect();
|
| }
|
|
|
| LayoutRect LayoutInline::visualOverflowRect() const
|
|
|