Chromium Code Reviews| 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; |