OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 #include "core/css/invalidation/StyleInvalidator.h" | 5 #include "core/css/invalidation/StyleInvalidator.h" |
6 | 6 |
7 #include "core/css/invalidation/InvalidationSet.h" | 7 #include "core/css/invalidation/InvalidationSet.h" |
8 #include "core/dom/Document.h" | 8 #include "core/dom/Document.h" |
9 #include "core/dom/Element.h" | 9 #include "core/dom/Element.h" |
10 #include "core/dom/ElementTraversal.h" | 10 #include "core/dom/ElementTraversal.h" |
(...skipping 269 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
280 | 280 |
281 void StyleInvalidator::pushInvalidationSetsForContainerNode( | 281 void StyleInvalidator::pushInvalidationSetsForContainerNode( |
282 ContainerNode& node, | 282 ContainerNode& node, |
283 RecursionData& recursionData, | 283 RecursionData& recursionData, |
284 SiblingData& siblingData) { | 284 SiblingData& siblingData) { |
285 PendingInvalidations* pendingInvalidations = | 285 PendingInvalidations* pendingInvalidations = |
286 m_pendingInvalidationMap.at(&node); | 286 m_pendingInvalidationMap.at(&node); |
287 DCHECK(pendingInvalidations); | 287 DCHECK(pendingInvalidations); |
288 | 288 |
289 for (const auto& invalidationSet : pendingInvalidations->siblings()) { | 289 for (const auto& invalidationSet : pendingInvalidations->siblings()) { |
290 RELEASE_ASSERT(invalidationSet->isAlive()); | 290 CHECK(invalidationSet->isAlive()); |
291 siblingData.pushInvalidationSet(toSiblingInvalidationSet(*invalidationSet)); | 291 siblingData.pushInvalidationSet(toSiblingInvalidationSet(*invalidationSet)); |
292 } | 292 } |
293 | 293 |
294 if (node.getStyleChangeType() >= SubtreeStyleChange) | 294 if (node.getStyleChangeType() >= SubtreeStyleChange) |
295 return; | 295 return; |
296 | 296 |
297 if (!pendingInvalidations->descendants().isEmpty()) { | 297 if (!pendingInvalidations->descendants().isEmpty()) { |
298 for (const auto& invalidationSet : pendingInvalidations->descendants()) { | 298 for (const auto& invalidationSet : pendingInvalidations->descendants()) { |
299 RELEASE_ASSERT(invalidationSet->isAlive()); | 299 CHECK(invalidationSet->isAlive()); |
300 recursionData.pushInvalidationSet(*invalidationSet); | 300 recursionData.pushInvalidationSet(*invalidationSet); |
301 } | 301 } |
302 if (UNLIKELY(*s_tracingEnabled)) { | 302 if (UNLIKELY(*s_tracingEnabled)) { |
303 TRACE_EVENT_INSTANT1( | 303 TRACE_EVENT_INSTANT1( |
304 TRACE_DISABLED_BY_DEFAULT("devtools.timeline.invalidationTracking"), | 304 TRACE_DISABLED_BY_DEFAULT("devtools.timeline.invalidationTracking"), |
305 "StyleInvalidatorInvalidationTracking", TRACE_EVENT_SCOPE_THREAD, | 305 "StyleInvalidatorInvalidationTracking", TRACE_EVENT_SCOPE_THREAD, |
306 "data", InspectorStyleInvalidatorInvalidateEvent::invalidationList( | 306 "data", InspectorStyleInvalidatorInvalidateEvent::invalidationList( |
307 node, pendingInvalidations->descendants())); | 307 node, pendingInvalidations->descendants())); |
308 } | 308 } |
309 } | 309 } |
(...skipping 124 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
434 continue; | 434 continue; |
435 if (recursionData.matchesCurrentInvalidationSetsAsSlotted( | 435 if (recursionData.matchesCurrentInvalidationSetsAsSlotted( |
436 toElement(*distributedNode))) | 436 toElement(*distributedNode))) |
437 distributedNode->setNeedsStyleRecalc( | 437 distributedNode->setNeedsStyleRecalc( |
438 LocalStyleChange, StyleChangeReasonForTracing::create( | 438 LocalStyleChange, StyleChangeReasonForTracing::create( |
439 StyleChangeReason::StyleInvalidator)); | 439 StyleChangeReason::StyleInvalidator)); |
440 } | 440 } |
441 } | 441 } |
442 | 442 |
443 } // namespace blink | 443 } // namespace blink |
OLD | NEW |