summaryrefslogtreecommitdiff
path: root/Source/WebCore/rendering/RenderLayerCompositor.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Source/WebCore/rendering/RenderLayerCompositor.cpp')
-rw-r--r--Source/WebCore/rendering/RenderLayerCompositor.cpp13
1 files changed, 6 insertions, 7 deletions
diff --git a/Source/WebCore/rendering/RenderLayerCompositor.cpp b/Source/WebCore/rendering/RenderLayerCompositor.cpp
index c3cf9835f..6062aaec8 100644
--- a/Source/WebCore/rendering/RenderLayerCompositor.cpp
+++ b/Source/WebCore/rendering/RenderLayerCompositor.cpp
@@ -494,11 +494,10 @@ bool RenderLayerCompositor::updateBacking(RenderLayer* layer, CompositingChangeR
layer->ensureBacking();
- // The RenderLayer's needs to update repaint rects here, because the target
- // repaintContainer may have changed after becoming a composited layer.
- // https://bugs.webkit.org/show_bug.cgi?id=80641
+ // This layer and all of its descendants have cached repaints rects that are relative to
+ // the repaint container, so change when compositing changes; we need to update them here.
if (layer->parent())
- layer->computeRepaintRects();
+ layer->computeRepaintRectsIncludingDescendants();
layerChanged = true;
}
@@ -518,9 +517,9 @@ bool RenderLayerCompositor::updateBacking(RenderLayer* layer, CompositingChangeR
layer->clearBacking();
layerChanged = true;
- // The layer's cached repaints rects are relative to the repaint container, so change when
- // compositing changes; we need to update them here.
- layer->computeRepaintRects();
+ // This layer and all of its descendants have cached repaints rects that are relative to
+ // the repaint container, so change when compositing changes; we need to update them here.
+ layer->computeRepaintRectsIncludingDescendants();
// If we need to repaint, do so now that we've removed the backing
if (shouldRepaint == CompositingChangeRepaintNow)