| Index: Source/core/rendering/RenderLayerCompositor.h
|
| diff --git a/Source/core/rendering/RenderLayerCompositor.h b/Source/core/rendering/RenderLayerCompositor.h
|
| index 7807a6b9d768270787f4db6bda1e889c8c024300..c053c065609121da5c92291932848d207390dd1e 100644
|
| --- a/Source/core/rendering/RenderLayerCompositor.h
|
| +++ b/Source/core/rendering/RenderLayerCompositor.h
|
| @@ -47,8 +47,7 @@ enum CompositingUpdateType {
|
| CompositingUpdateAfterStyleChange,
|
| CompositingUpdateAfterLayout,
|
| CompositingUpdateOnScroll,
|
| - CompositingUpdateOnCompositedScroll,
|
| - CompositingUpdateFinishAllDeferredWork
|
| + CompositingUpdateOnCompositedScroll
|
| };
|
|
|
| // RenderLayerCompositor manages the hierarchy of
|
| @@ -93,9 +92,7 @@ public:
|
| void updateCompositingRequirementsState();
|
| void setNeedsUpdateCompositingRequirementsState() { m_needsUpdateCompositingRequirementsState = true; }
|
|
|
| - // Main entry point for a full update. As needed, this function will compute compositing requirements,
|
| - // rebuild the composited layer tree, and/or update all the properties assocaited with each layer of the
|
| - // composited layer tree.
|
| + // Rebuild the tree of compositing layers
|
| void updateCompositingLayers(CompositingUpdateType, RenderLayer* updateRoot = 0);
|
|
|
| // Update the compositing state of the given layer. Returns true if that state changed.
|
| @@ -198,7 +195,7 @@ public:
|
| void resetTrackedRepaintRects();
|
| void setTracksRepaints(bool);
|
|
|
| - void setNeedsToRecomputeCompositingRequirements() { m_needsToRecomputeCompositingRequirements = true; }
|
| + void setShouldReevaluateCompositingAfterLayout() { m_reevaluateCompositingAfterLayout = true; }
|
|
|
| // Returns all reasons (direct, indirectly due to subtree, and indirectly due to overlap) that a layer should be composited.
|
| CompositingReasons reasonsForCompositing(const RenderLayer*) const;
|
| @@ -236,10 +233,6 @@ private:
|
| void addToOverlapMap(OverlapMap&, RenderLayer*, IntRect& layerBounds, bool& boundsComputed);
|
| void addToOverlapMapRecursive(OverlapMap&, RenderLayer*, RenderLayer* ancestorLayer = 0);
|
|
|
| - // 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*);
|
| -
|
| // Returns true if any layer's compositing changed
|
| void computeCompositingRequirements(RenderLayer* ancestorLayer, RenderLayer*, OverlapMap*, struct CompositingRecursionData&, bool& layersChanged, bool& descendantHas3DTransform, Vector<RenderLayer*>& unclippedDescendants);
|
|
|
| @@ -319,9 +312,9 @@ private:
|
| int m_compositedLayerCount;
|
| bool m_showRepaintCounter;
|
|
|
| - // FIXME: This should absolutely not be mutable.
|
| - mutable bool m_needsToRecomputeCompositingRequirements;
|
| - bool m_needsToUpdateLayerTreeGeometry;
|
| + // When true, we have to wait until layout has happened before we can decide whether to enter compositing mode,
|
| + // because only then do we know the final size of plugins and iframes.
|
| + mutable bool m_reevaluateCompositingAfterLayout;
|
|
|
| bool m_compositing;
|
| bool m_compositingLayersNeedRebuild;
|
|
|