| Index: Source/core/layout/LayoutObject.cpp
|
| diff --git a/Source/core/layout/LayoutObject.cpp b/Source/core/layout/LayoutObject.cpp
|
| index f5e859a4720a8f87dce35e4a1bd908f6355e92dc..eb60c910aba967d95d1ee2bcc6fde6c9d6f50715 100644
|
| --- a/Source/core/layout/LayoutObject.cpp
|
| +++ b/Source/core/layout/LayoutObject.cpp
|
| @@ -1194,7 +1194,7 @@ void LayoutObject::invalidatePaintRectangle(const LayoutRect& r) const
|
| }
|
| }
|
|
|
| -void LayoutObject::invalidateTreeIfNeeded(const PaintInvalidationState& paintInvalidationState)
|
| +void LayoutObject::invalidateTreeIfNeeded(PaintInvalidationState& paintInvalidationState)
|
| {
|
| ASSERT(!needsLayout());
|
|
|
| @@ -1203,12 +1203,16 @@ void LayoutObject::invalidateTreeIfNeeded(const PaintInvalidationState& paintInv
|
| if (!shouldCheckForPaintInvalidation(paintInvalidationState))
|
| return;
|
|
|
| - invalidatePaintIfNeeded(paintInvalidationState, paintInvalidationState.paintInvalidationContainer());
|
| + PaintInvalidationReason reason = invalidatePaintIfNeeded(paintInvalidationState, paintInvalidationState.paintInvalidationContainer());
|
| clearPaintInvalidationState(paintInvalidationState);
|
| +
|
| + if (reason == PaintInvalidationDelayedFull)
|
| + paintInvalidationState.pushDelayedPaintInvalidationTarget(*this);
|
| +
|
| invalidatePaintOfSubtreesIfNeeded(paintInvalidationState);
|
| }
|
|
|
| -void LayoutObject::invalidatePaintOfSubtreesIfNeeded(const PaintInvalidationState& childPaintInvalidationState)
|
| +void LayoutObject::invalidatePaintOfSubtreesIfNeeded(PaintInvalidationState& childPaintInvalidationState)
|
| {
|
| for (LayoutObject* child = slowFirstChild(); child; child = child->nextSibling()) {
|
| if (!child->isOutOfFlowPositioned())
|
| @@ -1274,7 +1278,7 @@ void LayoutObject::invalidateSelectionIfNeeded(const LayoutBoxModelObject& paint
|
| fullyInvalidatePaint(paintInvalidationContainer, PaintInvalidationSelection, oldSelectionRect, newSelectionRect);
|
| }
|
|
|
| -PaintInvalidationReason LayoutObject::invalidatePaintIfNeeded(const PaintInvalidationState& paintInvalidationState, const LayoutBoxModelObject& paintInvalidationContainer)
|
| +PaintInvalidationReason LayoutObject::invalidatePaintIfNeeded(PaintInvalidationState& paintInvalidationState, const LayoutBoxModelObject& paintInvalidationContainer)
|
| {
|
| LayoutView* v = view();
|
| if (v->document().printing())
|
|
|