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 |