Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1754)

Unified Diff: Source/core/rendering/RenderLayer.cpp

Issue 337793004: Repaint squashing content in cases where the entire frame is repainting. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 6 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | Source/core/rendering/RenderLayerRepainter.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: Source/core/rendering/RenderLayer.cpp
diff --git a/Source/core/rendering/RenderLayer.cpp b/Source/core/rendering/RenderLayer.cpp
index f458c9f1012d87accf86ba99bc0cb4f3f5391235..c4e9b2c11014cd9ca5b0c73aaeefb9d1e1ca3c8c 100644
--- a/Source/core/rendering/RenderLayer.cpp
+++ b/Source/core/rendering/RenderLayer.cpp
@@ -301,8 +301,13 @@ void RenderLayer::updateLayerPositionRecursive(UpdateLayerPositionsFlags flags)
for (RenderLayer* child = firstChild(); child; child = child->nextSibling())
child->updateLayerPositionRecursive(flags);
- if ((flags & NeedsFullRepaintInBacking) && hasCompositedLayerMapping() && !compositedLayerMapping()->paintsIntoCompositedAncestor())
+ // FIXME: why isn't FrameView just calling RenderLayerCompositor::repaintCompositedLayers? Does it really impact
+ // performance?
abarth-chromium 2014/06/13 22:14:01 Because this code is crazy.
+ if ((flags & NeedsFullRepaintInBacking) && hasCompositedLayerMapping() && !compositedLayerMapping()->paintsIntoCompositedAncestor()) {
compositedLayerMapping()->setContentsNeedDisplay();
+ // This code is called when the FrameView wants to repaint the entire frame. This includes squashing content.
+ compositedLayerMapping()->setSquashingContentsNeedDisplay();
abarth-chromium 2014/06/13 22:14:01 Are there any callers of setContentsNeedDisplay()
chrishtr 2014/06/13 22:48:33 Yes, there is one, which is why I didn't do it tha
+ }
}
void RenderLayer::setAncestorChainHasSelfPaintingLayerDescendant()
« no previous file with comments | « no previous file | Source/core/rendering/RenderLayerRepainter.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698