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

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

Issue 23903012: Set up scroll and clip parents (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: . Created 7 years, 3 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
Index: Source/core/rendering/RenderLayerBacking.h
diff --git a/Source/core/rendering/RenderLayerBacking.h b/Source/core/rendering/RenderLayerBacking.h
index 5a18edd82084680b941763762d4d73e2e159268c..9fb4504b96892d0e413a6d97f5c5046e4c312607 100644
--- a/Source/core/rendering/RenderLayerBacking.h
+++ b/Source/core/rendering/RenderLayerBacking.h
@@ -94,9 +94,12 @@ public:
GraphicsLayer* clippingLayer() const { return m_childContainmentLayer.get(); }
// Layer to get clipped by ancestor
- bool hasAncestorClippingLayer() const { return m_ancestorClippingLayer != 0; }
+ bool hasAncestorClippingLayer() const { return m_ancestorClippingLayer; }
GraphicsLayer* ancestorClippingLayer() const { return m_ancestorClippingLayer.get(); }
+ bool hasAncestorScrollClippingLayer() const { return m_ancestorScrollClippingLayer; }
+ GraphicsLayer* ancestorScrollClippingLayer() const { return m_ancestorScrollClippingLayer.get(); }
+
bool hasContentsLayer() const { return m_foregroundLayer != 0; }
GraphicsLayer* foregroundLayer() const { return m_foregroundLayer.get(); }
@@ -189,7 +192,7 @@ private:
RenderLayerCompositor* compositor() const { return m_owningLayer->compositor(); }
void updateInternalHierarchy();
- bool updateClippingLayers(bool needsAncestorClip, bool needsDescendantClip);
+ bool updateClippingLayers(bool needsAncestorClip, bool needsDescendantClip, bool needsScrollClip);
bool updateOverflowControlsLayers(bool needsHorizontalScrollbarLayer, bool needsVerticalScrollbarLayer, bool needsScrollCornerLayer);
bool updateForegroundLayer(bool needsForegroundLayer);
bool updateBackgroundLayer(bool needsBackgroundLayer);
@@ -198,6 +201,8 @@ private:
bool requiresVerticalScrollbarLayer() const { return m_owningLayer->verticalScrollbar(); }
bool requiresScrollCornerLayer() const { return !m_owningLayer->scrollCornerAndResizerRect().isEmpty(); }
bool updateScrollingLayers(bool scrollingLayers);
+ void updateScrollParent(RenderLayer*);
+ void updateClipParent(RenderLayer*);
void updateDrawsContent(bool isSimpleContainer);
void registerScrollingLayers();
@@ -247,6 +252,7 @@ private:
RenderLayer* m_owningLayer;
+ OwnPtr<GraphicsLayer> m_ancestorScrollClippingLayer; // Only used if we have a scroll parent, and our clipping ancestor is not our scroll parent.
enne (OOO) 2013/09/10 23:45:01 The code looks like it says this is used if and on
Ian Vollick 2013/09/11 17:57:52 It is. I've updated the comment.
OwnPtr<GraphicsLayer> m_ancestorClippingLayer; // Only used if we are clipped by an ancestor which is not a stacking context.
OwnPtr<GraphicsLayer> m_graphicsLayer;
OwnPtr<GraphicsLayer> m_foregroundLayer; // Only used in cases where we need to draw the foreground separately.
@@ -261,8 +267,6 @@ private:
OwnPtr<GraphicsLayer> m_scrollingLayer; // Only used if the layer is using composited scrolling.
OwnPtr<GraphicsLayer> m_scrollingContentsLayer; // Only used if the layer is using composited scrolling.
- uint64_t m_scrollLayerID;
-
IntRect m_compositedBounds;
bool m_artificiallyInflatedBounds; // bounds had to be made non-zero to make transform-origin work

Powered by Google App Engine
This is Rietveld 408576698