Chromium Code Reviews| 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 0c6f807ad672cb735dc2bb633c22be393993eedb..ca57bcc62888db8b5a61a42deee403dae9182649 100644 |
| --- a/third_party/WebKit/Source/core/layout/LayoutObject.cpp |
| +++ b/third_party/WebKit/Source/core/layout/LayoutObject.cpp |
| @@ -1219,7 +1219,7 @@ void LayoutObject::invalidatePaintUsingContainer(const LayoutBoxModelObject& pai |
| invalidatePaintRectangleOnWindow(paintInvalidationContainer, enclosingIntRect(dirtyRect)); |
| if (paintInvalidationContainer.view()->usesCompositing() && paintInvalidationContainer.isPaintInvalidationContainer()) |
| - paintInvalidationContainer.setBackingNeedsPaintInvalidationInRect(dirtyRect, invalidationReason); |
| + paintInvalidationContainer.setBackingNeedsPaintInvalidationInRect(dirtyRect, invalidationReason, *this); |
| } |
| void LayoutObject::invalidateDisplayItemClient(const DisplayItemClient& displayItemClient) const |
| @@ -1389,13 +1389,11 @@ inline void LayoutObject::invalidateSelectionIfNeeded(const LayoutBoxModelObject |
| setPreviousSelectionRectForPaintInvalidation(newSelectionRect); |
| - if (shouldInvalidateSelection()) |
| - invalidateDisplayItemClientsWithPaintInvalidationState(paintInvalidationContainer, paintInvalidationState, PaintInvalidationSelection); |
| - |
| if (fullInvalidation) |
| return; |
| fullyInvalidatePaint(paintInvalidationContainer, PaintInvalidationSelection, oldSelectionRect, newSelectionRect); |
| + invalidateDisplayItemClientsWithPaintInvalidationState(paintInvalidationContainer, paintInvalidationState, PaintInvalidationSelection); |
|
pdr.
2016/04/12 00:20:06
This change seems like it would change behavior si
Xianzhu
2016/04/12 01:14:26
Oh I missed the view()->doingFullPaintInvalidation
|
| } |
| PaintInvalidationReason LayoutObject::invalidatePaintIfNeeded(const PaintInvalidationState& paintInvalidationState) |
| @@ -1464,15 +1462,12 @@ PaintInvalidationReason LayoutObject::invalidatePaintIfNeeded(const PaintInvalid |
| return invalidationReason; |
| } |
| - invalidateDisplayItemClientsWithPaintInvalidationState(paintInvalidationContainer, paintInvalidationState, invalidationReason); |
| - |
| - if (invalidationReason == PaintInvalidationIncremental) { |
| + if (invalidationReason == PaintInvalidationIncremental) |
| incrementallyInvalidatePaint(paintInvalidationContainer, oldBounds, newBounds, newLocation); |
| - return invalidationReason; |
| - } |
| - |
| - fullyInvalidatePaint(paintInvalidationContainer, invalidationReason, oldBounds, newBounds); |
| + else |
| + fullyInvalidatePaint(paintInvalidationContainer, invalidationReason, oldBounds, newBounds); |
| + invalidateDisplayItemClientsWithPaintInvalidationState(paintInvalidationContainer, paintInvalidationState, invalidationReason); |
| return invalidationReason; |
| } |
| @@ -3569,8 +3564,8 @@ void LayoutObject::invalidatePaintOfPreviousPaintInvalidationRect(const LayoutBo |
| LayoutRect invalidationRect = previousPaintInvalidationRect(); |
| adjustInvalidationRectForCompositedScrolling(invalidationRect, paintInvalidationContainer); |
| - invalidatePaintUsingContainer(paintInvalidationContainer, invalidationRect, PaintInvalidationLayer); |
| - invalidateDisplayItemClients(paintInvalidationContainer, PaintInvalidationLayer); |
| + invalidatePaintUsingContainer(paintInvalidationContainer, invalidationRect, reason); |
| + invalidateDisplayItemClients(paintInvalidationContainer, reason); |
| // This method may be used to invalidate paint of an object changing paint invalidation container. |
| // Clear previous paint invalidation rect on the original paint invalidation container to avoid |