OLD | NEW |
1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef FindPropertiesNeedingUpdate_h | 5 #ifndef FindPropertiesNeedingUpdate_h |
6 #define FindPropertiesNeedingUpdate_h | 6 #define FindPropertiesNeedingUpdate_h |
7 | 7 |
8 #if DCHECK_IS_ON() | 8 #if DCHECK_IS_ON() |
9 namespace blink { | 9 namespace blink { |
10 | 10 |
(...skipping 122 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
133 // LayoutObject::setNeedsPaintPropertyUpdate(). | 133 // LayoutObject::setNeedsPaintPropertyUpdate(). |
134 // 2) The PrePaintTreeWalk should have had a forced subtree update (see: | 134 // 2) The PrePaintTreeWalk should have had a forced subtree update (see: |
135 // PaintPropertyTreeBuilderContext::forceSubtreeupdate). | 135 // PaintPropertyTreeBuilderContext::forceSubtreeupdate). |
136 const auto* objectProperties = m_object.paintProperties(); | 136 const auto* objectProperties = m_object.paintProperties(); |
137 if (m_originalProperties && objectProperties) { | 137 if (m_originalProperties && objectProperties) { |
138 DCHECK_OBJECT_PROPERTY_EQ(m_object, | 138 DCHECK_OBJECT_PROPERTY_EQ(m_object, |
139 m_originalProperties->paintOffsetTranslation(), | 139 m_originalProperties->paintOffsetTranslation(), |
140 objectProperties->paintOffsetTranslation()); | 140 objectProperties->paintOffsetTranslation()); |
141 DCHECK_OBJECT_PROPERTY_EQ(m_object, m_originalProperties->transform(), | 141 DCHECK_OBJECT_PROPERTY_EQ(m_object, m_originalProperties->transform(), |
142 objectProperties->transform()); | 142 objectProperties->transform()); |
| 143 // This check ignores changes of reference filters. |
143 DCHECK_OBJECT_PROPERTY_EQ(m_object, m_originalProperties->effect(), | 144 DCHECK_OBJECT_PROPERTY_EQ(m_object, m_originalProperties->effect(), |
144 objectProperties->effect()); | 145 objectProperties->effect()); |
| 146 // This remedies the above ignored check of reference filters. |
| 147 DCHECK(m_originalProperties->styleFilterOperations() == |
| 148 objectProperties->styleFilterOperations()) |
| 149 << "Filter operations were updated without the layout object (" |
| 150 << m_object.debugName() << ") needing a paint property update."; |
145 DCHECK_OBJECT_PROPERTY_EQ(m_object, m_originalProperties->cssClip(), | 151 DCHECK_OBJECT_PROPERTY_EQ(m_object, m_originalProperties->cssClip(), |
146 objectProperties->cssClip()); | 152 objectProperties->cssClip()); |
147 DCHECK_OBJECT_PROPERTY_EQ(m_object, | 153 DCHECK_OBJECT_PROPERTY_EQ(m_object, |
148 m_originalProperties->cssClipFixedPosition(), | 154 m_originalProperties->cssClipFixedPosition(), |
149 objectProperties->cssClipFixedPosition()); | 155 objectProperties->cssClipFixedPosition()); |
150 DCHECK_OBJECT_PROPERTY_EQ(m_object, | 156 DCHECK_OBJECT_PROPERTY_EQ(m_object, |
151 m_originalProperties->innerBorderRadiusClip(), | 157 m_originalProperties->innerBorderRadiusClip(), |
152 objectProperties->innerBorderRadiusClip()); | 158 objectProperties->innerBorderRadiusClip()); |
153 DCHECK_OBJECT_PROPERTY_EQ(m_object, m_originalProperties->overflowClip(), | 159 DCHECK_OBJECT_PROPERTY_EQ(m_object, m_originalProperties->overflowClip(), |
154 objectProperties->overflowClip()); | 160 objectProperties->overflowClip()); |
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
200 const LayoutObject& m_object; | 206 const LayoutObject& m_object; |
201 bool m_neededPaintPropertyUpdate; | 207 bool m_neededPaintPropertyUpdate; |
202 bool m_neededForcedSubtreeUpdate; | 208 bool m_neededForcedSubtreeUpdate; |
203 std::unique_ptr<const ObjectPaintProperties> m_originalProperties; | 209 std::unique_ptr<const ObjectPaintProperties> m_originalProperties; |
204 }; | 210 }; |
205 | 211 |
206 } // namespace blink | 212 } // namespace blink |
207 #endif // DCHECK_IS_ON() | 213 #endif // DCHECK_IS_ON() |
208 | 214 |
209 #endif // FindPropertiesNeedingUpdate_h | 215 #endif // FindPropertiesNeedingUpdate_h |
OLD | NEW |