Index: Source/core/rendering/compositing/RenderLayerCompositor.cpp |
=================================================================== |
--- Source/core/rendering/compositing/RenderLayerCompositor.cpp (revision 169401) |
+++ Source/core/rendering/compositing/RenderLayerCompositor.cpp (working copy) |
@@ -211,6 +211,7 @@ |
, m_needsUpdateCompositingRequirementsState(false) |
, m_isTrackingRepaints(false) |
, m_rootLayerAttachment(RootLayerUnattached) |
+ , m_layersChanged(true) |
{ |
} |
@@ -383,6 +384,13 @@ |
case CompositingUpdateAfterCanvasContextChange: |
m_needsToUpdateLayerTreeGeometry = true; |
break; |
+ case CompositingMinUpdateAfterStyleChange: |
+ if (m_layersChanged) |
Ian Vollick
2014/03/18 11:59:16
I think this is a layering violation. If I'm under
yaojie.yan
2014/03/20 07:43:19
Yes, but my REAL purpose is to add some heuristic
|
+ m_needsToRecomputeCompositingRequirements = true; |
+ else |
+ m_needsToUpdateLayerTreeGeometry = true; |
+ break; |
+ |
} |
m_renderView.frameView()->scheduleAnimation(); |
@@ -473,6 +481,7 @@ |
} |
} |
+ m_layersChanged = layersChanged; |
Ian Vollick
2014/03/18 11:59:16
This value should not persist from update to updat
|
if (layersChanged) |
needHierarchyAndGeometryUpdate = true; |
} |
@@ -496,7 +505,7 @@ |
if (childList.isEmpty()) |
destroyRootLayer(); |
- else |
+ else if (m_rootContentLayer) |
m_rootContentLayer->setChildren(childList); |
} else if (needGeometryUpdate) { |
// We just need to do a geometry update. This is only used for position:fixed scrolling; |