Chromium Code Reviews| Index: Source/core/rendering/RenderBox.cpp |
| diff --git a/Source/core/rendering/RenderBox.cpp b/Source/core/rendering/RenderBox.cpp |
| index cadb60c657c9f07ffa7d796e95fa7fd8748d4454..ef8e47ac84f47cd8d675f1677f2ff4f68aec9585 100644 |
| --- a/Source/core/rendering/RenderBox.cpp |
| +++ b/Source/core/rendering/RenderBox.cpp |
| @@ -1597,16 +1597,38 @@ void RenderBox::invalidatePaintIfNeeded(const PaintInvalidationState& paintInval |
| invalidatePaintForOverflowIfNeeded(); |
| // Issue paint invalidations for any scrollbars if there is a scrollable area for this renderer. |
| - if (enclosingLayer()) { |
| - if (RenderLayerScrollableArea* area = enclosingLayer()->scrollableArea()) { |
| + if (hasLayer()) { |
|
Julien - ping for review
2014/08/01 19:05:02
Better even:
if (RenderLayer* layer = this->layer(
Xianzhu
2014/08/01 22:07:23
Just found we already have RenderLayerModelObject:
|
| + if (RenderLayerScrollableArea* area = layer()->scrollableArea()) { |
| if (area->hasVerticalBarDamage()) |
| invalidatePaintRectangle(area->verticalBarDamage()); |
| if (area->hasHorizontalBarDamage()) |
| invalidatePaintRectangle(area->horizontalBarDamage()); |
| + } |
| + } |
| +} |
| + |
| +void RenderBox::clearPaintInvalidationState() |
| +{ |
| + RenderBoxModelObject::clearPaintInvalidationState(); |
| + |
| + if (hasLayer()) { |
|
Julien - ping for review
2014/08/01 19:05:02
Ditto.
Xianzhu
2014/08/01 22:07:23
Done.
|
| + if (RenderLayerScrollableArea* area = layer()->scrollableArea()) |
| area->resetScrollbarDamage(); |
| + } |
| +} |
| + |
| +#if ENABLE(ASSERT) |
| +bool RenderBox::paintInvalidationStateIsDirty() const |
| +{ |
| + if (hasLayer()) { |
|
Julien - ping for review
2014/08/01 19:05:02
Ditto.
Xianzhu
2014/08/01 22:07:23
Done.
|
| + if (RenderLayerScrollableArea* area = layer()->scrollableArea()) { |
| + if (area->hasVerticalBarDamage() || area->hasHorizontalBarDamage()) |
| + return true; |
| } |
| } |
| + return RenderBoxModelObject::paintInvalidationStateIsDirty(); |
| } |
| +#endif |
| bool RenderBox::pushContentsClip(PaintInfo& paintInfo, const LayoutPoint& accumulatedOffset, ContentsClipBehavior contentsClipBehavior) |
| { |