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

Side by Side Diff: Source/core/rendering/RenderLayer.h

Issue 13427009: Replace the current contiguity check for composited scrolling (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Addressing review comments 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2003, 2009, 2012 Apple Inc. All rights reserved. 2 * Copyright (C) 2003, 2009, 2012 Apple Inc. All rights reserved.
3 * 3 *
4 * Portions are Copyright (C) 1998 Netscape Communications Corporation. 4 * Portions are Copyright (C) 1998 Netscape Communications Corporation.
5 * 5 *
6 * Other contributors: 6 * Other contributors:
7 * Robert O'Callahan <roc+@cs.cmu.edu> 7 * Robert O'Callahan <roc+@cs.cmu.edu>
8 * David Baron <dbaron@fas.harvard.edu> 8 * David Baron <dbaron@fas.harvard.edu>
9 * Christian Biesinger <cbiesinger@web.de> 9 * Christian Biesinger <cbiesinger@web.de>
10 * Randall Jesup <rjesup@wgate.com> 10 * Randall Jesup <rjesup@wgate.com>
(...skipping 828 matching lines...) Expand 10 before | Expand all | Expand 10 after
839 bool isDirtyStackingContainer() const { return m_zOrderListsDirty && isStack ingContainer(); } 839 bool isDirtyStackingContainer() const { return m_zOrderListsDirty && isStack ingContainer(); }
840 840
841 void setAncestorChainHasSelfPaintingLayerDescendant(); 841 void setAncestorChainHasSelfPaintingLayerDescendant();
842 void dirtyAncestorChainHasSelfPaintingLayerDescendantStatus(); 842 void dirtyAncestorChainHasSelfPaintingLayerDescendantStatus();
843 843
844 void setAncestorChainHasOutOfFlowPositionedDescendant(); 844 void setAncestorChainHasOutOfFlowPositionedDescendant();
845 void dirtyAncestorChainHasOutOfFlowPositionedDescendantStatus(); 845 void dirtyAncestorChainHasOutOfFlowPositionedDescendantStatus();
846 846
847 847
848 bool acceleratedCompositingForOverflowScrollEnabled() const; 848 bool acceleratedCompositingForOverflowScrollEnabled() const;
849 void updateDescendantsAreContiguousInStackingOrder(); 849 void updateCanBeStackingContainer();
850 void updateDescendantsAreContiguousInStackingOrderRecursive(const HashMap<co nst RenderLayer*, int>&, int& minIndex, int& maxIndex, int& count, bool firstIte ration);
851 void collectBeforePromotionZOrderList(RenderLayer* ancestorStackingContext, OwnPtr<Vector<RenderLayer*> >& posZOrderListBeforePromote, OwnPtr<Vector<RenderL ayer*> >& negZOrderListBeforePromote); 850 void collectBeforePromotionZOrderList(RenderLayer* ancestorStackingContext, OwnPtr<Vector<RenderLayer*> >& posZOrderListBeforePromote, OwnPtr<Vector<RenderL ayer*> >& negZOrderListBeforePromote);
852 void collectAfterPromotionZOrderList(RenderLayer* ancestorStackingContext, O wnPtr<Vector<RenderLayer*> >& posZOrderListAfterPromote, OwnPtr<Vector<RenderLay er*> >& negZOrderListAfterPromote); 851 void collectAfterPromotionZOrderList(RenderLayer* ancestorStackingContext, O wnPtr<Vector<RenderLayer*> >& posZOrderListAfterPromote, OwnPtr<Vector<RenderLay er*> >& negZOrderListAfterPromote);
853 852
854 void computeRepaintRects(const RenderLayerModelObject* repaintContainer, con st RenderGeometryMap* = 0); 853 void computeRepaintRects(const RenderLayerModelObject* repaintContainer, con st RenderGeometryMap* = 0);
855 void computeRepaintRectsIncludingDescendants(); 854 void computeRepaintRectsIncludingDescendants();
856 void clearRepaintRects(); 855 void clearRepaintRects();
857 856
858 void clipToRect(RenderLayer* rootLayer, GraphicsContext*, const LayoutRect& paintDirtyRect, const ClipRect&, 857 void clipToRect(RenderLayer* rootLayer, GraphicsContext*, const LayoutRect& paintDirtyRect, const ClipRect&,
859 BorderRadiusClippingRule = IncludeSelfForBorderRadius); 858 BorderRadiusClippingRule = IncludeSelfForBorderRadius);
860 void restoreClip(GraphicsContext*, const LayoutRect& paintDirtyRect, const C lipRect&); 859 void restoreClip(GraphicsContext*, const LayoutRect& paintDirtyRect, const C lipRect&);
(...skipping 281 matching lines...) Expand 10 before | Expand all | Expand 10 after
1142 // containing block is our ancestor. If this is the case, the descendant 1141 // containing block is our ancestor. If this is the case, the descendant
1143 // may fall outside of our clip preventing things like opting into 1142 // may fall outside of our clip preventing things like opting into
1144 // composited scrolling (which causes clipping of all descendants). 1143 // composited scrolling (which causes clipping of all descendants).
1145 bool m_hasUnclippedDescendant : 1; 1144 bool m_hasUnclippedDescendant : 1;
1146 1145
1147 bool m_needsCompositedScrolling : 1; 1146 bool m_needsCompositedScrolling : 1;
1148 1147
1149 // If this is true, then no non-descendant appears between any of our 1148 // If this is true, then no non-descendant appears between any of our
1150 // descendants in stacking order. This is one of the requirements of being 1149 // descendants in stacking order. This is one of the requirements of being
1151 // able to safely become a stacking context. 1150 // able to safely become a stacking context.
1152 bool m_descendantsAreContiguousInStackingOrder : 1; 1151 bool m_canBePromotedToStackingContainer : 1;
1153 bool m_descendantsAreContiguousInStackingOrderDirty : 1; 1152 bool m_canBePromotedToStackingContainerDirty : 1;
1154 1153
1155 const bool m_isRootLayer : 1; 1154 const bool m_isRootLayer : 1;
1156 1155
1157 bool m_usedTransparency : 1; // Tracks whether we need to close a transparen t layer, i.e., whether 1156 bool m_usedTransparency : 1; // Tracks whether we need to close a transparen t layer, i.e., whether
1158 // we ended up painting this layer or any desce ndants (and therefore need to 1157 // we ended up painting this layer or any desce ndants (and therefore need to
1159 // blend). 1158 // blend).
1160 bool m_paintingInsideReflection : 1; // A state bit tracking if we are pain ting inside a replica. 1159 bool m_paintingInsideReflection : 1; // A state bit tracking if we are pain ting inside a replica.
1161 bool m_inOverflowRelayout : 1; 1160 bool m_inOverflowRelayout : 1;
1162 unsigned m_repaintStatus : 2; // RepaintStatus 1161 unsigned m_repaintStatus : 2; // RepaintStatus
1163 1162
(...skipping 159 matching lines...) Expand 10 before | Expand all | Expand 10 after
1323 1322
1324 } // namespace WebCore 1323 } // namespace WebCore
1325 1324
1326 #ifndef NDEBUG 1325 #ifndef NDEBUG
1327 // Outside the WebCore namespace for ease of invocation from gdb. 1326 // Outside the WebCore namespace for ease of invocation from gdb.
1328 void showLayerTree(const WebCore::RenderLayer*); 1327 void showLayerTree(const WebCore::RenderLayer*);
1329 void showLayerTree(const WebCore::RenderObject*); 1328 void showLayerTree(const WebCore::RenderObject*);
1330 #endif 1329 #endif
1331 1330
1332 #endif // RenderLayer_h 1331 #endif // RenderLayer_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698