| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2013 Google Inc. All rights reserved. | 2 * Copyright (C) 2013 Google Inc. All rights reserved. |
| 3 * | 3 * |
| 4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
| 5 * modification, are permitted provided that the following conditions are | 5 * modification, are permitted provided that the following conditions are |
| 6 * met: | 6 * met: |
| 7 * | 7 * |
| 8 * * Redistributions of source code must retain the above copyright | 8 * * Redistributions of source code must retain the above copyright |
| 9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
| 10 * * Redistributions in binary form must reproduce the above | 10 * * Redistributions in binary form must reproduce the above |
| (...skipping 218 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 229 calculateAnimationActiveInterpolations(update.get(), element, parentElement.
document().timeline().currentTimeInternal()); | 229 calculateAnimationActiveInterpolations(update.get(), element, parentElement.
document().timeline().currentTimeInternal()); |
| 230 calculateTransitionUpdate(update.get(), element, style); | 230 calculateTransitionUpdate(update.get(), element, style); |
| 231 calculateTransitionActiveInterpolations(update.get(), element, parentElement
.document().timeline().currentTimeInternal()); | 231 calculateTransitionActiveInterpolations(update.get(), element, parentElement
.document().timeline().currentTimeInternal()); |
| 232 return update->isEmpty() ? nullptr : update.release(); | 232 return update->isEmpty() ? nullptr : update.release(); |
| 233 } | 233 } |
| 234 | 234 |
| 235 void CSSAnimations::calculateAnimationUpdate(CSSAnimationUpdate* update, Element
* element, const Element& parentElement, const RenderStyle& style, RenderStyle*
parentStyle, StyleResolver* resolver) | 235 void CSSAnimations::calculateAnimationUpdate(CSSAnimationUpdate* update, Element
* element, const Element& parentElement, const RenderStyle& style, RenderStyle*
parentStyle, StyleResolver* resolver) |
| 236 { | 236 { |
| 237 const ActiveAnimations* activeAnimations = element ? element->activeAnimatio
ns() : 0; | 237 const ActiveAnimations* activeAnimations = element ? element->activeAnimatio
ns() : 0; |
| 238 | 238 |
| 239 #if !ASSERT_ENABLED | 239 #if !ENABLE(ASSERT) |
| 240 // If we're in an animation style change, no animations can have started, be
en cancelled or changed play state. | 240 // If we're in an animation style change, no animations can have started, be
en cancelled or changed play state. |
| 241 // When ASSERT is enabled, we verify this optimization. | 241 // When ASSERT is enabled, we verify this optimization. |
| 242 if (activeAnimations && activeAnimations->isAnimationStyleChange()) | 242 if (activeAnimations && activeAnimations->isAnimationStyleChange()) |
| 243 return; | 243 return; |
| 244 #endif | 244 #endif |
| 245 | 245 |
| 246 const CSSAnimationData* animationData = style.animations(); | 246 const CSSAnimationData* animationData = style.animations(); |
| 247 const CSSAnimations* cssAnimations = activeAnimations ? &activeAnimations->c
ssAnimations() : 0; | 247 const CSSAnimations* cssAnimations = activeAnimations ? &activeAnimations->c
ssAnimations() : 0; |
| 248 | 248 |
| 249 HashSet<AtomicString> inactive; | 249 HashSet<AtomicString> inactive; |
| (...skipping 203 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 453 | 453 |
| 454 void CSSAnimations::calculateTransitionUpdate(CSSAnimationUpdate* update, const
Element* element, const RenderStyle& style) | 454 void CSSAnimations::calculateTransitionUpdate(CSSAnimationUpdate* update, const
Element* element, const RenderStyle& style) |
| 455 { | 455 { |
| 456 if (!element) | 456 if (!element) |
| 457 return; | 457 return; |
| 458 | 458 |
| 459 ActiveAnimations* activeAnimations = element->activeAnimations(); | 459 ActiveAnimations* activeAnimations = element->activeAnimations(); |
| 460 const TransitionMap* activeTransitions = activeAnimations ? &activeAnimation
s->cssAnimations().m_transitions : 0; | 460 const TransitionMap* activeTransitions = activeAnimations ? &activeAnimation
s->cssAnimations().m_transitions : 0; |
| 461 const CSSTransitionData* transitionData = style.transitions(); | 461 const CSSTransitionData* transitionData = style.transitions(); |
| 462 | 462 |
| 463 #if ASSERT_ENABLED | 463 #if ENABLE(ASSERT) |
| 464 // In debug builds we verify that it would have been safe to avoid populatin
g and testing listedProperties if the style recalc is due to animation. | 464 // In debug builds we verify that it would have been safe to avoid populatin
g and testing listedProperties if the style recalc is due to animation. |
| 465 const bool animationStyleRecalc = false; | 465 const bool animationStyleRecalc = false; |
| 466 #else | 466 #else |
| 467 // In release builds we avoid the cost of checking for new and interrupted t
ransitions if the style recalc is due to animation. | 467 // In release builds we avoid the cost of checking for new and interrupted t
ransitions if the style recalc is due to animation. |
| 468 const bool animationStyleRecalc = activeAnimations && activeAnimations->isAn
imationStyleChange(); | 468 const bool animationStyleRecalc = activeAnimations && activeAnimations->isAn
imationStyleChange(); |
| 469 #endif | 469 #endif |
| 470 | 470 |
| 471 BitArray<numCSSProperties> listedProperties; | 471 BitArray<numCSSProperties> listedProperties; |
| 472 bool anyTransitionHadTransitionAll = false; | 472 bool anyTransitionHadTransitionAll = false; |
| 473 const RenderObject* renderer = element->renderer(); | 473 const RenderObject* renderer = element->renderer(); |
| (...skipping 363 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 837 void CSSAnimationUpdate::trace(Visitor* visitor) | 837 void CSSAnimationUpdate::trace(Visitor* visitor) |
| 838 { | 838 { |
| 839 visitor->trace(m_newTransitions); | 839 visitor->trace(m_newTransitions); |
| 840 visitor->trace(m_activeInterpolationsForAnimations); | 840 visitor->trace(m_activeInterpolationsForAnimations); |
| 841 visitor->trace(m_activeInterpolationsForTransitions); | 841 visitor->trace(m_activeInterpolationsForTransitions); |
| 842 visitor->trace(m_newAnimations); | 842 visitor->trace(m_newAnimations); |
| 843 visitor->trace(m_cancelledAnimationPlayers); | 843 visitor->trace(m_cancelledAnimationPlayers); |
| 844 } | 844 } |
| 845 | 845 |
| 846 } // namespace WebCore | 846 } // namespace WebCore |
| OLD | NEW |