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

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, 8 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 821 matching lines...) Expand 10 before | Expand all | Expand 10 after
832 void updateNormalFlowList(); 832 void updateNormalFlowList();
833 833
834 bool isStackingContext(const RenderStyle* style) const { return !style->hasA utoZIndex() || isRootLayer(); } 834 bool isStackingContext(const RenderStyle* style) const { return !style->hasA utoZIndex() || isRootLayer(); }
835 835
836 bool isDirtyStackingContainer() const { return m_zOrderListsDirty && isStack ingContainer(); } 836 bool isDirtyStackingContainer() const { return m_zOrderListsDirty && isStack ingContainer(); }
837 837
838 void setAncestorChainHasSelfPaintingLayerDescendant(); 838 void setAncestorChainHasSelfPaintingLayerDescendant();
839 void dirtyAncestorChainHasSelfPaintingLayerDescendantStatus(); 839 void dirtyAncestorChainHasSelfPaintingLayerDescendantStatus();
840 840
841 bool acceleratedCompositingForOverflowScrollEnabled() const; 841 bool acceleratedCompositingForOverflowScrollEnabled() const;
842 void updateDescendantsAreContiguousInStackingOrder(); 842 void updateCanBeStackingContainer(RenderLayer*);
843 void updateDescendantsAreContiguousInStackingOrderRecursive(const HashMap<co nst RenderLayer*, int>&, int& minIndex, int& maxIndex, int& count, bool firstIte ration); 843 void updateCanBeStackingContainerRecursively(RenderLayer*);
844 void collectBeforePromotionZOrderList(RenderLayer* ancestorStackingContext, OwnPtr<Vector<RenderLayer*> >& posZOrderListBeforePromote, OwnPtr<Vector<RenderL ayer*> >& negZOrderListBeforePromote, size_t& posZOrderListSizeBeforePromote, si ze_t& negZOrderListSizeBeforePromote); 844 void collectBeforePromotionZOrderList(RenderLayer* ancestorStackingContext, OwnPtr<Vector<RenderLayer*> >& posZOrderListBeforePromote, OwnPtr<Vector<RenderL ayer*> >& negZOrderListBeforePromote, size_t& posZOrderListSizeBeforePromote, si ze_t& negZOrderListSizeBeforePromote);
845 void collectAfterPromotionZOrderList(RenderLayer* ancestorStackingContext, O wnPtr<Vector<RenderLayer*> >& posZOrderListAfterPromote, OwnPtr<Vector<RenderLay er*> >& negZOrderListAfterPromote, size_t& posZOrderListSizeAfterPromote, size_t & negZOrderListSizeAfterPromote); 845 void collectAfterPromotionZOrderList(RenderLayer* ancestorStackingContext, O wnPtr<Vector<RenderLayer*> >& posZOrderListAfterPromote, OwnPtr<Vector<RenderLay er*> >& negZOrderListAfterPromote, size_t& posZOrderListSizeAfterPromote, size_t & negZOrderListSizeAfterPromote);
846 846
847 void computeRepaintRects(const RenderLayerModelObject* repaintContainer, con st RenderGeometryMap* = 0); 847 void computeRepaintRects(const RenderLayerModelObject* repaintContainer, con st RenderGeometryMap* = 0);
848 void computeRepaintRectsIncludingDescendants(); 848 void computeRepaintRectsIncludingDescendants();
849 void clearRepaintRects(); 849 void clearRepaintRects();
850 850
851 void clipToRect(RenderLayer* rootLayer, GraphicsContext*, const LayoutRect& paintDirtyRect, const ClipRect&, 851 void clipToRect(RenderLayer* rootLayer, GraphicsContext*, const LayoutRect& paintDirtyRect, const ClipRect&,
852 BorderRadiusClippingRule = IncludeSelfForBorderRadius); 852 BorderRadiusClippingRule = IncludeSelfForBorderRadius);
853 void restoreClip(GraphicsContext*, const LayoutRect& paintDirtyRect, const C lipRect&); 853 void restoreClip(GraphicsContext*, const LayoutRect& paintDirtyRect, const C lipRect&);
(...skipping 280 matching lines...) Expand 10 before | Expand all | Expand 10 after
1134 // appears between our descendants in stacking order, then we may become a 1134 // appears between our descendants in stacking order, then we may become a
1135 // stacking context. 1135 // stacking context.
1136 bool m_hasOutOfFlowPositionedDescendant : 1; 1136 bool m_hasOutOfFlowPositionedDescendant : 1;
1137 bool m_hasOutOfFlowPositionedDescendantDirty : 1; 1137 bool m_hasOutOfFlowPositionedDescendantDirty : 1;
1138 1138
1139 bool m_needsCompositedScrolling : 1; 1139 bool m_needsCompositedScrolling : 1;
1140 1140
1141 // If this is true, then no non-descendant appears between any of our 1141 // If this is true, then no non-descendant appears between any of our
1142 // descendants in stacking order. This is one of the requirements of being 1142 // descendants in stacking order. This is one of the requirements of being
1143 // able to safely become a stacking context. 1143 // able to safely become a stacking context.
1144 bool m_descendantsAreContiguousInStackingOrder : 1; 1144 bool m_canBePromotedToStackingContainer : 1;
1145 bool m_descendantsAreContiguousInStackingOrderDirty : 1; 1145 bool m_canBePromotedToStackingContainerDirty : 1;
1146 1146
1147 const bool m_isRootLayer : 1; 1147 const bool m_isRootLayer : 1;
1148 1148
1149 bool m_usedTransparency : 1; // Tracks whether we need to close a transparen t layer, i.e., whether 1149 bool m_usedTransparency : 1; // Tracks whether we need to close a transparen t layer, i.e., whether
1150 // we ended up painting this layer or any desce ndants (and therefore need to 1150 // we ended up painting this layer or any desce ndants (and therefore need to
1151 // blend). 1151 // blend).
1152 bool m_paintingInsideReflection : 1; // A state bit tracking if we are pain ting inside a replica. 1152 bool m_paintingInsideReflection : 1; // A state bit tracking if we are pain ting inside a replica.
1153 bool m_inOverflowRelayout : 1; 1153 bool m_inOverflowRelayout : 1;
1154 unsigned m_repaintStatus : 2; // RepaintStatus 1154 unsigned m_repaintStatus : 2; // RepaintStatus
1155 1155
(...skipping 161 matching lines...) Expand 10 before | Expand all | Expand 10 after
1317 1317
1318 } // namespace WebCore 1318 } // namespace WebCore
1319 1319
1320 #ifndef NDEBUG 1320 #ifndef NDEBUG
1321 // Outside the WebCore namespace for ease of invocation from gdb. 1321 // Outside the WebCore namespace for ease of invocation from gdb.
1322 void showLayerTree(const WebCore::RenderLayer*); 1322 void showLayerTree(const WebCore::RenderLayer*);
1323 void showLayerTree(const WebCore::RenderObject*); 1323 void showLayerTree(const WebCore::RenderObject*);
1324 #endif 1324 #endif
1325 1325
1326 #endif // RenderLayer_h 1326 #endif // RenderLayer_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698