Index: Source/core/rendering/RenderLayerCompositor.h |
diff --git a/Source/core/rendering/RenderLayerCompositor.h b/Source/core/rendering/RenderLayerCompositor.h |
index dfc918551584adbc2024084ce630b4fe31a43998..644431b0985a06f0e18c071baaf1d550458c7226 100644 |
--- a/Source/core/rendering/RenderLayerCompositor.h |
+++ b/Source/core/rendering/RenderLayerCompositor.h |
@@ -232,6 +232,19 @@ private: |
void addToOverlapMap(OverlapMap&, RenderLayer*, IntRect& layerBounds, bool& boundsComputed); |
void addToOverlapMapRecursive(OverlapMap&, RenderLayer*, RenderLayer* ancestorLayer = 0); |
+ struct SquashingState { |
+ SquashingState() |
+ : mostRecentMapping(0) |
+ , hasMostRecentMapping(false) { } |
+ |
+ // The most recent composited backing that the layer should squash onto if needed. |
+ CompositedLayerMappingPtr mostRecentMapping; |
+ bool hasMostRecentMapping; |
+ |
+ // Offset from absolute coordinates of the target's owning layer to the backing's own local space. |
+ IntSize absToLocalOffset; |
+ }; |
+ |
// Forces an update for all frames of frame tree recursively. Used only when the mainFrame compositor is ready to |
// finish all deferred work. |
static void finishCompositingUpdateForFrameTree(Frame*); |
@@ -240,7 +253,7 @@ private: |
void computeCompositingRequirements(RenderLayer* ancestorLayer, RenderLayer*, OverlapMap*, struct CompositingRecursionData&, bool& descendantHas3DTransform, Vector<RenderLayer*>& unclippedDescendants); |
// Defines which RenderLayers will paint into which composited backings, by allocating and destroying CompositedLayerMappings as needed. |
- void assignLayersToBackings(RenderLayer*, bool& layersChanged); |
+ void assignLayersToBackings(RenderLayer*, SquashingState&, bool& layersChanged); |
// Recurses down the tree, parenting descendant compositing layers and collecting an array of child layers for the current compositing layer. |
void rebuildCompositingLayerTree(RenderLayer*, Vector<GraphicsLayer*>& childGraphicsLayersOfEnclosingLayer, int depth); |