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

Unified Diff: Source/core/rendering/compositing/RenderLayerCompositor.cpp

Issue 215063006: Separate the geometry update from rebuilding the GraphicsLayer tree (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 6 years, 9 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
Index: Source/core/rendering/compositing/RenderLayerCompositor.cpp
diff --git a/Source/core/rendering/compositing/RenderLayerCompositor.cpp b/Source/core/rendering/compositing/RenderLayerCompositor.cpp
index 0b4403f6cd5c025d8e163e72e8fc1690f9a2ffcb..a81d4e3c7cfcf7d0df0fad946f9c741401def657 100644
--- a/Source/core/rendering/compositing/RenderLayerCompositor.cpp
+++ b/Source/core/rendering/compositing/RenderLayerCompositor.cpp
@@ -520,12 +520,19 @@ void RenderLayerCompositor::updateCompositingLayersInternal()
needHierarchyAndGeometryUpdate = true;
}
+ if (needGeometryUpdate || needHierarchyAndGeometryUpdate) {
+ // We just need to do a geometry update. This is only used for position:fixed scrolling;
+ // most of the time, geometry is updated via RenderLayer::styleChanged().
ojan 2014/03/28 02:26:16 I know this isn't new to this patch, but this comm
abarth-chromium 2014/03/28 02:37:14 It's more wrong now. I'll remove it.
+ TRACE_EVENT0("blink_rendering", "GraphicsLayerUpdater::updateRecursive");
esprehn 2014/03/28 02:24:09 The ones in recalcstyle are all webkit, should we
abarth-chromium 2014/03/28 02:37:14 Dunno. Probably? "webkit" is so 2012
+ GraphicsLayerUpdater().update(*updateRoot, updateType);
+ }
+
if (needHierarchyAndGeometryUpdate) {
// Update the hierarchy of the compositing layers.
GraphicsLayerVector childList;
{
TRACE_EVENT0("blink_rendering", "GraphicsLayerUpdater::rebuildTree");
- GraphicsLayerUpdater().rebuildTree(*updateRoot, updateType, childList);
+ GraphicsLayerUpdater().rebuildTree(*updateRoot, childList);
}
// Host the document layer in the RenderView's root layer.
@@ -541,11 +548,6 @@ void RenderLayerCompositor::updateCompositingLayersInternal()
destroyRootLayer();
else
m_rootContentLayer->setChildren(childList);
- } else if (needGeometryUpdate) {
- // We just need to do a geometry update. This is only used for position:fixed scrolling;
- // most of the time, geometry is updated via RenderLayer::styleChanged().
- TRACE_EVENT0("blink_rendering", "GraphicsLayerUpdater::updateRecursive");
- GraphicsLayerUpdater().updateRecursive(*updateRoot, updateType);
}
ASSERT(updateRoot || !m_compositingLayersNeedRebuild);

Powered by Google App Engine
This is Rietveld 408576698