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

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

Issue 327323002: Start removing the double-negative !ASSERT_DISABLED (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 6 years, 6 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 * Copyright (C) 2013 Intel Corporation. All rights reserved. 3 * Copyright (C) 2013 Intel Corporation. All rights reserved.
4 * 4 *
5 * Portions are Copyright (C) 1998 Netscape Communications Corporation. 5 * Portions are Copyright (C) 1998 Netscape Communications Corporation.
6 * 6 *
7 * Other contributors: 7 * Other contributors:
8 * Robert O'Callahan <roc+@cs.cmu.edu> 8 * Robert O'Callahan <roc+@cs.cmu.edu>
9 * David Baron <dbaron@fas.harvard.edu> 9 * David Baron <dbaron@fas.harvard.edu>
10 * Christian Biesinger <cbiesinger@web.de> 10 * Christian Biesinger <cbiesinger@web.de>
(...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after
88 void updateStackingNodesAfterStyleChange(const RenderStyle* oldStyle); 88 void updateStackingNodesAfterStyleChange(const RenderStyle* oldStyle);
89 89
90 RenderLayerStackingNode* ancestorStackingContextNode() const; 90 RenderLayerStackingNode* ancestorStackingContextNode() const;
91 91
92 // Gets the enclosing stacking context for this node, possibly the node 92 // Gets the enclosing stacking context for this node, possibly the node
93 // itself, if it is a stacking context. 93 // itself, if it is a stacking context.
94 RenderLayerStackingNode* enclosingStackingContextNode() { return isStackingC ontext() ? this : ancestorStackingContextNode(); } 94 RenderLayerStackingNode* enclosingStackingContextNode() { return isStackingC ontext() ? this : ancestorStackingContextNode(); }
95 95
96 RenderLayer* layer() const { return m_layer; } 96 RenderLayer* layer() const { return m_layer; }
97 97
98 #if !ASSERT_DISABLED 98 #if ASSERT_ENABLED
99 bool layerListMutationAllowed() const { return m_layerListMutationAllowed; } 99 bool layerListMutationAllowed() const { return m_layerListMutationAllowed; }
100 void setLayerListMutationAllowed(bool flag) { m_layerListMutationAllowed = f lag; } 100 void setLayerListMutationAllowed(bool flag) { m_layerListMutationAllowed = f lag; }
101 #endif 101 #endif
102 102
103 private: 103 private:
104 friend class RenderLayerStackingNodeIterator; 104 friend class RenderLayerStackingNodeIterator;
105 friend class RenderLayerStackingNodeReverseIterator; 105 friend class RenderLayerStackingNodeReverseIterator;
106 friend class RenderTreeAsText; 106 friend class RenderTreeAsText;
107 107
108 Vector<RenderLayerStackingNode*>* posZOrderList() const 108 Vector<RenderLayerStackingNode*>* posZOrderList() const
(...skipping 12 matching lines...) Expand all
121 Vector<RenderLayerStackingNode*>* negZOrderList() const 121 Vector<RenderLayerStackingNode*>* negZOrderList() const
122 { 122 {
123 ASSERT(!m_zOrderListsDirty); 123 ASSERT(!m_zOrderListsDirty);
124 ASSERT(isStackingContext() || !m_negZOrderList); 124 ASSERT(isStackingContext() || !m_negZOrderList);
125 return m_negZOrderList.get(); 125 return m_negZOrderList.get();
126 } 126 }
127 127
128 void rebuildZOrderLists(); 128 void rebuildZOrderLists();
129 void collectLayers(OwnPtr<Vector<RenderLayerStackingNode*> >& posZOrderList, OwnPtr<Vector<RenderLayerStackingNode*> >& negZOrderList); 129 void collectLayers(OwnPtr<Vector<RenderLayerStackingNode*> >& posZOrderList, OwnPtr<Vector<RenderLayerStackingNode*> >& negZOrderList);
130 130
131 #if !ASSERT_DISABLED 131 #if ASSERT_ENABLED
132 bool isInStackingParentZOrderLists() const; 132 bool isInStackingParentZOrderLists() const;
133 bool isInStackingParentNormalFlowList() const; 133 bool isInStackingParentNormalFlowList() const;
134 void updateStackingParentForZOrderLists(RenderLayerStackingNode* stackingPar ent); 134 void updateStackingParentForZOrderLists(RenderLayerStackingNode* stackingPar ent);
135 void updateStackingParentForNormalFlowList(RenderLayerStackingNode* stacking Parent); 135 void updateStackingParentForNormalFlowList(RenderLayerStackingNode* stacking Parent);
136 void setStackingParent(RenderLayerStackingNode* stackingParent) { m_stacking Parent = stackingParent; } 136 void setStackingParent(RenderLayerStackingNode* stackingParent) { m_stacking Parent = stackingParent; }
137 #endif 137 #endif
138 138
139 bool shouldBeNormalFlowOnly() const; 139 bool shouldBeNormalFlowOnly() const;
140 140
141 void updateNormalFlowList(); 141 void updateNormalFlowList();
(...skipping 13 matching lines...) Expand all
155 OwnPtr<Vector<RenderLayerStackingNode*> > m_posZOrderList; 155 OwnPtr<Vector<RenderLayerStackingNode*> > m_posZOrderList;
156 OwnPtr<Vector<RenderLayerStackingNode*> > m_negZOrderList; 156 OwnPtr<Vector<RenderLayerStackingNode*> > m_negZOrderList;
157 157
158 // This list contains child nodes that cannot create stacking contexts. 158 // This list contains child nodes that cannot create stacking contexts.
159 OwnPtr<Vector<RenderLayerStackingNode*> > m_normalFlowList; 159 OwnPtr<Vector<RenderLayerStackingNode*> > m_normalFlowList;
160 160
161 unsigned m_zOrderListsDirty : 1; 161 unsigned m_zOrderListsDirty : 1;
162 unsigned m_normalFlowListDirty: 1; 162 unsigned m_normalFlowListDirty: 1;
163 unsigned m_isNormalFlowOnly : 1; 163 unsigned m_isNormalFlowOnly : 1;
164 164
165 #if !ASSERT_DISABLED 165 #if ASSERT_ENABLED
166 unsigned m_layerListMutationAllowed : 1; 166 unsigned m_layerListMutationAllowed : 1;
167 RenderLayerStackingNode* m_stackingParent; 167 RenderLayerStackingNode* m_stackingParent;
168 #endif 168 #endif
169 }; 169 };
170 170
171 inline void RenderLayerStackingNode::clearZOrderLists() 171 inline void RenderLayerStackingNode::clearZOrderLists()
172 { 172 {
173 ASSERT(!isStackingContext()); 173 ASSERT(!isStackingContext());
174 174
175 #if !ASSERT_DISABLED 175 #if ASSERT_ENABLED
176 updateStackingParentForZOrderLists(0); 176 updateStackingParentForZOrderLists(0);
177 #endif 177 #endif
178 178
179 m_posZOrderList.clear(); 179 m_posZOrderList.clear();
180 m_negZOrderList.clear(); 180 m_negZOrderList.clear();
181 } 181 }
182 182
183 inline void RenderLayerStackingNode::updateZOrderLists() 183 inline void RenderLayerStackingNode::updateZOrderLists()
184 { 184 {
185 if (!m_zOrderListsDirty) 185 if (!m_zOrderListsDirty)
186 return; 186 return;
187 187
188 if (!isStackingContext()) { 188 if (!isStackingContext()) {
189 clearZOrderLists(); 189 clearZOrderLists();
190 m_zOrderListsDirty = false; 190 m_zOrderListsDirty = false;
191 return; 191 return;
192 } 192 }
193 193
194 rebuildZOrderLists(); 194 rebuildZOrderLists();
195 } 195 }
196 196
197 #if !ASSERT_DISABLED 197 #if ASSERT_ENABLED
198 class LayerListMutationDetector { 198 class LayerListMutationDetector {
199 public: 199 public:
200 explicit LayerListMutationDetector(RenderLayerStackingNode* stackingNode) 200 explicit LayerListMutationDetector(RenderLayerStackingNode* stackingNode)
201 : m_stackingNode(stackingNode) 201 : m_stackingNode(stackingNode)
202 , m_previousMutationAllowedState(stackingNode->layerListMutationAllowed( )) 202 , m_previousMutationAllowedState(stackingNode->layerListMutationAllowed( ))
203 { 203 {
204 m_stackingNode->setLayerListMutationAllowed(false); 204 m_stackingNode->setLayerListMutationAllowed(false);
205 } 205 }
206 206
207 ~LayerListMutationDetector() 207 ~LayerListMutationDetector()
208 { 208 {
209 m_stackingNode->setLayerListMutationAllowed(m_previousMutationAllowedSta te); 209 m_stackingNode->setLayerListMutationAllowed(m_previousMutationAllowedSta te);
210 } 210 }
211 211
212 private: 212 private:
213 RenderLayerStackingNode* m_stackingNode; 213 RenderLayerStackingNode* m_stackingNode;
214 bool m_previousMutationAllowedState; 214 bool m_previousMutationAllowedState;
215 }; 215 };
216 #endif 216 #endif
217 217
218 } // namespace WebCore 218 } // namespace WebCore
219 219
220 #endif // RenderLayerStackingNode_h 220 #endif // RenderLayerStackingNode_h
OLDNEW
« no previous file with comments | « Source/core/rendering/RenderLayer.cpp ('k') | Source/core/rendering/RenderLayerStackingNode.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698