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

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: rebase 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 825 matching lines...) Expand 10 before | Expand all | Expand 10 after
836 836
837 bool isDirtyStackingContainer() const { return m_zOrderListsDirty && isStack ingContainer(); } 837 bool isDirtyStackingContainer() const { return m_zOrderListsDirty && isStack ingContainer(); }
838 838
839 void setAncestorChainHasSelfPaintingLayerDescendant(); 839 void setAncestorChainHasSelfPaintingLayerDescendant();
840 void dirtyAncestorChainHasSelfPaintingLayerDescendantStatus(); 840 void dirtyAncestorChainHasSelfPaintingLayerDescendantStatus();
841 841
842 void setAncestorChainHasOutOfFlowPositionedDescendant(); 842 void setAncestorChainHasOutOfFlowPositionedDescendant();
843 void dirtyAncestorChainHasOutOfFlowPositionedDescendantStatus(); 843 void dirtyAncestorChainHasOutOfFlowPositionedDescendantStatus();
844 844
845 bool acceleratedCompositingForOverflowScrollEnabled() const; 845 bool acceleratedCompositingForOverflowScrollEnabled() const;
846 void updateDescendantsAreContiguousInStackingOrder(); 846 void updateCanBeStackingContainer();
847 void updateDescendantsAreContiguousInStackingOrderRecursive(const HashMap<co nst RenderLayer*, int>&, int& minIndex, int& maxIndex, int& count, bool firstIte ration);
848 void collectBeforePromotionZOrderList(RenderLayer* ancestorStackingContext, OwnPtr<Vector<RenderLayer*> >& posZOrderListBeforePromote, OwnPtr<Vector<RenderL ayer*> >& negZOrderListBeforePromote); 847 void collectBeforePromotionZOrderList(RenderLayer* ancestorStackingContext, OwnPtr<Vector<RenderLayer*> >& posZOrderListBeforePromote, OwnPtr<Vector<RenderL ayer*> >& negZOrderListBeforePromote);
849 void collectAfterPromotionZOrderList(RenderLayer* ancestorStackingContext, O wnPtr<Vector<RenderLayer*> >& posZOrderListAfterPromote, OwnPtr<Vector<RenderLay er*> >& negZOrderListAfterPromote); 848 void collectAfterPromotionZOrderList(RenderLayer* ancestorStackingContext, O wnPtr<Vector<RenderLayer*> >& posZOrderListAfterPromote, OwnPtr<Vector<RenderLay er*> >& negZOrderListAfterPromote);
850 849
851 void computeRepaintRects(const RenderLayerModelObject* repaintContainer, con st RenderGeometryMap* = 0); 850 void computeRepaintRects(const RenderLayerModelObject* repaintContainer, con st RenderGeometryMap* = 0);
852 void computeRepaintRectsIncludingDescendants(); 851 void computeRepaintRectsIncludingDescendants();
853 void clearRepaintRects(); 852 void clearRepaintRects();
854 853
855 void clipToRect(RenderLayer* rootLayer, GraphicsContext*, const LayoutRect& paintDirtyRect, const ClipRect&, 854 void clipToRect(RenderLayer* rootLayer, GraphicsContext*, const LayoutRect& paintDirtyRect, const ClipRect&,
856 BorderRadiusClippingRule = IncludeSelfForBorderRadius); 855 BorderRadiusClippingRule = IncludeSelfForBorderRadius);
857 void restoreClip(GraphicsContext*, const LayoutRect& paintDirtyRect, const C lipRect&); 856 void restoreClip(GraphicsContext*, const LayoutRect& paintDirtyRect, const C lipRect&);
(...skipping 284 matching lines...) Expand 10 before | Expand all | Expand 10 after
1142 // may fall outside of our clip preventing things like opting into 1141 // may fall outside of our clip preventing things like opting into
1143 // composited scrolling (which causes clipping of all descendants). 1142 // composited scrolling (which causes clipping of all descendants).
1144 bool m_hasUnclippedDescendant : 1; 1143 bool m_hasUnclippedDescendant : 1;
1145 1144
1146 ForceNeedsCompositedScrollingMode m_forceNeedsCompositedScrolling; 1145 ForceNeedsCompositedScrollingMode m_forceNeedsCompositedScrolling;
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 161 matching lines...) Expand 10 before | Expand all | Expand 10 after
1325 1324
1326 } // namespace WebCore 1325 } // namespace WebCore
1327 1326
1328 #ifndef NDEBUG 1327 #ifndef NDEBUG
1329 // Outside the WebCore namespace for ease of invocation from gdb. 1328 // Outside the WebCore namespace for ease of invocation from gdb.
1330 void showLayerTree(const WebCore::RenderLayer*); 1329 void showLayerTree(const WebCore::RenderLayer*);
1331 void showLayerTree(const WebCore::RenderObject*); 1330 void showLayerTree(const WebCore::RenderObject*);
1332 #endif 1331 #endif
1333 1332
1334 #endif // RenderLayer_h 1333 #endif // RenderLayer_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698