| Index: Source/core/rendering/RenderLayer.h
 | 
| diff --git a/Source/core/rendering/RenderLayer.h b/Source/core/rendering/RenderLayer.h
 | 
| index 3661b2c512c62272c4996e04dfdcf52294254306..ce7f7c81bbabedf2a65ade59bba59b80b6e0186f 100644
 | 
| --- a/Source/core/rendering/RenderLayer.h
 | 
| +++ b/Source/core/rendering/RenderLayer.h
 | 
| @@ -878,12 +878,16 @@ public:
 | 
|      void setForceNeedsCompositedScrolling(ForceNeedsCompositedScrollingMode);
 | 
|  
 | 
|  private:
 | 
| -    enum CollectLayersBehavior { StopAtStackingContexts, StopAtStackingContainers };
 | 
| +enum CollectLayersBehavior {
 | 
| +    ForceLayerToStackingContainer,
 | 
| +    OverflowScrollCanBeStackingContainers,
 | 
| +    OnlyStackingContextsCanBeStackingContainers
 | 
| +};
 | 
|  
 | 
|      void updateZOrderLists();
 | 
|      void rebuildZOrderLists();
 | 
|      // See the comment for collectLayers for information about the layerToForceAsStackingContainer parameter.
 | 
| -    void rebuildZOrderLists(CollectLayersBehavior, OwnPtr<Vector<RenderLayer*> >&, OwnPtr<Vector<RenderLayer*> >&, const RenderLayer* layerToForceAsStackingContainer = 0);
 | 
| +    void rebuildZOrderLists(OwnPtr<Vector<RenderLayer*> >&, OwnPtr<Vector<RenderLayer*> >&, const RenderLayer* layerToForceAsStackingContainer = 0, CollectLayersBehavior = OverflowScrollCanBeStackingContainers);
 | 
|      void clearZOrderLists();
 | 
|  
 | 
|      void updateNormalFlowList();
 | 
| @@ -962,7 +966,7 @@ private:
 | 
|      // post-promotion layer lists, by allowing us to treat a layer as if it is a
 | 
|      // stacking context, without adding a new member to RenderLayer or modifying
 | 
|      // the style (which could cause extra allocations).
 | 
| -    void collectLayers(bool includeHiddenLayers, CollectLayersBehavior, OwnPtr<Vector<RenderLayer*> >&, OwnPtr<Vector<RenderLayer*> >&, const RenderLayer* layerToForceAsStackingContainer = 0);
 | 
| +    void collectLayers(bool includeHiddenLayers, OwnPtr<Vector<RenderLayer*> >&, OwnPtr<Vector<RenderLayer*> >&, const RenderLayer* layerToForceAsStackingContainer = 0, CollectLayersBehavior = OverflowScrollCanBeStackingContainers);
 | 
|  
 | 
|      struct LayerPaintingInfo {
 | 
|          LayerPaintingInfo(RenderLayer* inRootLayer, const LayoutRect& inDirtyRect, PaintBehavior inPaintBehavior, const LayoutSize& inSubPixelAccumulation, RenderObject* inPaintingRoot = 0, RenderRegion*inRegion = 0, OverlapTestRequestMap* inOverlapTestRequests = 0)
 | 
| @@ -1046,6 +1050,7 @@ private:
 | 
|      bool hasScrollableVerticalOverflow() const;
 | 
|  
 | 
|      bool shouldBeNormalFlowOnly() const;
 | 
| +    bool shouldBeNormalFlowOnlyIgnoringCompositedScrolling() const;
 | 
|  
 | 
|      bool shouldBeSelfPaintingLayer() const;
 | 
|  
 | 
| 
 |