Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1615)

Unified Diff: Source/core/rendering/RenderLayer.h

Issue 14999005: Fix RenderLayer::collectLayers logic bug. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Addressing 2nd review Created 7 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « LayoutTests/TestExpectations ('k') | Source/core/rendering/RenderLayer.cpp » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: Source/core/rendering/RenderLayer.h
diff --git a/Source/core/rendering/RenderLayer.h b/Source/core/rendering/RenderLayer.h
index b7f096f270f86d10aaa37e88d839f7b094508e71..f139ff89bd9b089f4476ee025915c2a8adc5ae83 100644
--- a/Source/core/rendering/RenderLayer.h
+++ b/Source/core/rendering/RenderLayer.h
@@ -865,12 +865,16 @@ public:
void computePaintOrderList(PaintOrderListType type, Vector<RefPtr<Node> >&);
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();
@@ -949,7 +953,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)
@@ -1032,7 +1036,7 @@ private:
bool hasScrollableHorizontalOverflow() const;
bool hasScrollableVerticalOverflow() const;
- bool shouldBeNormalFlowOnly() const;
+ bool shouldBeNormalFlowOnly(bool canNeedCompositedScrolling = true) const;
Julien - ping for review 2013/05/30 22:23:07 Really not a huge fan of adding a default *boolean
hartmanng 2013/05/31 13:55:41 Done.
bool shouldBeSelfPaintingLayer() const;
« no previous file with comments | « LayoutTests/TestExpectations ('k') | Source/core/rendering/RenderLayer.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698