| Index: third_party/WebKit/Source/core/layout/LayoutObject.cpp
|
| diff --git a/third_party/WebKit/Source/core/layout/LayoutObject.cpp b/third_party/WebKit/Source/core/layout/LayoutObject.cpp
|
| index 051799571158e80164251832a3a2a3e5358c8d66..408b0bb7efd775e4c484c4a41dcb21c512c733c0 100644
|
| --- a/third_party/WebKit/Source/core/layout/LayoutObject.cpp
|
| +++ b/third_party/WebKit/Source/core/layout/LayoutObject.cpp
|
| @@ -1637,28 +1637,25 @@ LayoutRect LayoutObject::clippedOverflowRectForPaintInvalidation(const LayoutBox
|
| return LayoutRect();
|
| }
|
|
|
| -void LayoutObject::mapToVisibleRectInAncestorSpace(const LayoutBoxModelObject* ancestor, LayoutRect& rect, const PaintInvalidationState* paintInvalidationState) const
|
| +bool LayoutObject::mapToVisibleRectInAncestorSpace(const LayoutBoxModelObject* ancestor, LayoutRect& rect, const PaintInvalidationState* paintInvalidationState, VisibleRectFlags visibleRectFlags) const
|
| {
|
| if (ancestor == this)
|
| - return;
|
| + return true;
|
|
|
| - if (paintInvalidationState && paintInvalidationState->canMapToAncestor(ancestor)) {
|
| - paintInvalidationState->mapObjectRectToAncestor(*this, ancestor, rect);
|
| - return;
|
| - }
|
| + if (paintInvalidationState && paintInvalidationState->canMapToAncestor(ancestor))
|
| + return paintInvalidationState->mapObjectRectToAncestor(*this, ancestor, rect, visibleRectFlags);
|
|
|
| if (LayoutObject* parent = this->parent()) {
|
| if (parent->hasOverflowClip()) {
|
| LayoutBox* parentBox = toLayoutBox(parent);
|
| parentBox->mapScrollingContentsRectToBoxSpace(rect);
|
| - if (parent != ancestor)
|
| - parentBox->applyOverflowClip(rect);
|
| - if (rect.isEmpty())
|
| - return;
|
| + if (parent != ancestor && !parentBox->applyOverflowClip(rect, visibleRectFlags))
|
| + return false;
|
| }
|
|
|
| - parent->mapToVisibleRectInAncestorSpace(ancestor, rect, paintInvalidationState);
|
| + return parent->mapToVisibleRectInAncestorSpace(ancestor, rect, paintInvalidationState, visibleRectFlags);
|
| }
|
| + return true;
|
| }
|
|
|
| void LayoutObject::dirtyLinesFromChangedChild(LayoutObject*)
|
|
|