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 f7fefe576aff17d0c7013f36525d5b7ed36552cc..a2441c65c93fe9c324e11a2e5a0d5704a2f0f173 100644 |
--- a/third_party/WebKit/Source/core/layout/LayoutObject.cpp |
+++ b/third_party/WebKit/Source/core/layout/LayoutObject.cpp |
@@ -1638,28 +1638,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 |
chrishtr
2016/03/24 21:18:43
"When this method is called, the coordinate space
szager1
2016/03/24 21:52:28
Done.
|
{ |
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, nullptr); |
+ return parent->mapToVisibleRectInAncestorSpace(ancestor, rect, nullptr, visibleRectFlags); |
} |
+ return true; |
} |
void LayoutObject::dirtyLinesFromChangedChild(LayoutObject*) |