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

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

Issue 13859006: Rework composited scrolling updates. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@early-out2
Patch Set: . 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
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 846 matching lines...) Expand 10 before | Expand all | Expand 10 after
857 void computeRepaintRectsIncludingDescendants(); 857 void computeRepaintRectsIncludingDescendants();
858 void clearRepaintRects(); 858 void clearRepaintRects();
859 859
860 void clipToRect(RenderLayer* rootLayer, GraphicsContext*, const LayoutRect& paintDirtyRect, const ClipRect&, 860 void clipToRect(RenderLayer* rootLayer, GraphicsContext*, const LayoutRect& paintDirtyRect, const ClipRect&,
861 BorderRadiusClippingRule = IncludeSelfForBorderRadius); 861 BorderRadiusClippingRule = IncludeSelfForBorderRadius);
862 void restoreClip(GraphicsContext*, const LayoutRect& paintDirtyRect, const C lipRect&); 862 void restoreClip(GraphicsContext*, const LayoutRect& paintDirtyRect, const C lipRect&);
863 863
864 bool shouldRepaintAfterLayout() const; 864 bool shouldRepaintAfterLayout() const;
865 865
866 void updateSelfPaintingLayer(); 866 void updateSelfPaintingLayer();
867 void updateIsNormalFlowOnly();
867 void updateStackingContextsAfterStyleChange(const RenderStyle* oldStyle); 868 void updateStackingContextsAfterStyleChange(const RenderStyle* oldStyle);
868 869
869 void updateScrollbarsAfterStyleChange(const RenderStyle* oldStyle); 870 void updateScrollbarsAfterStyleChange(const RenderStyle* oldStyle);
870 void updateScrollbarsAfterLayout(); 871 void updateScrollbarsAfterLayout();
871 872
872 void setAncestorChainHasOutOfFlowPositionedDescendant(RenderObject* containi ngBlock); 873 void setAncestorChainHasOutOfFlowPositionedDescendant(RenderObject* containi ngBlock);
873 void dirtyAncestorChainHasOutOfFlowPositionedDescendantStatus(); 874 void dirtyAncestorChainHasOutOfFlowPositionedDescendantStatus();
874 void updateOutOfFlowPositioned(const RenderStyle* oldStyle); 875 void updateOutOfFlowPositioned(const RenderStyle* oldStyle);
875 876
876 void updateNeedsCompositedScrolling(); 877 void updateNeedsCompositedScrolling();
878 void setNeedsCompositedScrolling(bool);
877 879
878 // Returns true if the position changed. 880 // Returns true if the position changed.
879 bool updateLayerPosition(); 881 bool updateLayerPosition();
880 882
881 void updateLayerPositions(RenderGeometryMap* = 0, UpdateLayerPositionsFlags = defaultFlags); 883 void updateLayerPositions(RenderGeometryMap* = 0, UpdateLayerPositionsFlags = defaultFlags);
882 884
883 enum UpdateLayerPositionsAfterScrollFlag { 885 enum UpdateLayerPositionsAfterScrollFlag {
884 NoFlag = 0, 886 NoFlag = 0,
885 IsOverflowScroll = 1 << 0, 887 IsOverflowScroll = 1 << 0,
886 HasSeenViewportConstrainedAncestor = 1 << 1, 888 HasSeenViewportConstrainedAncestor = 1 << 1,
(...skipping 253 matching lines...) Expand 10 before | Expand all | Expand 10 after
1140 // stacking context. 1142 // stacking context.
1141 bool m_hasOutOfFlowPositionedDescendant : 1; 1143 bool m_hasOutOfFlowPositionedDescendant : 1;
1142 bool m_hasOutOfFlowPositionedDescendantDirty : 1; 1144 bool m_hasOutOfFlowPositionedDescendantDirty : 1;
1143 1145
1144 bool m_needsCompositedScrolling : 1; 1146 bool m_needsCompositedScrolling : 1;
1145 1147
1146 // 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
1147 // 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
1148 // able to safely become a stacking context. 1150 // able to safely become a stacking context.
1149 bool m_descendantsAreContiguousInStackingOrder : 1; 1151 bool m_descendantsAreContiguousInStackingOrder : 1;
1152 bool m_descendantsAreContiguousInStackingOrderDirty : 1;
1150 1153
1151 const bool m_isRootLayer : 1; 1154 const bool m_isRootLayer : 1;
1152 1155
1153 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
1154 // 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
1155 // blend). 1158 // blend).
1156 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.
1157 bool m_inOverflowRelayout : 1; 1160 bool m_inOverflowRelayout : 1;
1158 unsigned m_repaintStatus : 2; // RepaintStatus 1161 unsigned m_repaintStatus : 2; // RepaintStatus
1159 1162
(...skipping 146 matching lines...) Expand 10 before | Expand all | Expand 10 after
1306 1309
1307 } // namespace WebCore 1310 } // namespace WebCore
1308 1311
1309 #ifndef NDEBUG 1312 #ifndef NDEBUG
1310 // Outside the WebCore namespace for ease of invocation from gdb. 1313 // Outside the WebCore namespace for ease of invocation from gdb.
1311 void showLayerTree(const WebCore::RenderLayer*); 1314 void showLayerTree(const WebCore::RenderLayer*);
1312 void showLayerTree(const WebCore::RenderObject*); 1315 void showLayerTree(const WebCore::RenderObject*);
1313 #endif 1316 #endif
1314 1317
1315 #endif // RenderLayer_h 1318 #endif // RenderLayer_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698