bool CompositeAnimation::pauseTransitionAtTime(CSSPropertyID property, double t) { if ((property < firstCSSProperty) || (property >= firstCSSProperty + numCSSProperties)) return false; ImplicitAnimation* implAnim = m_transitions.get(property); if (!implAnim) { // Check to see if this property is being animated via a shorthand. // This code is only used for testing, so performance is not critical here. HashSet<CSSPropertyID> shorthandProperties = CSSPropertyAnimation::animatableShorthandsAffectingProperty(property); bool anyPaused = false; for (auto propertyID : shorthandProperties) { if (pauseTransitionAtTime(propertyID, t)) anyPaused = true; } return anyPaused; } if (!implAnim->running()) return false; if ((t >= 0.0) && (t <= implAnim->duration())) { implAnim->freezeAtTime(t); return true; } return false; }
bool CompositeAnimation::pauseTransitionAtTime(int property, double t) { if ((property < firstCSSProperty) || (property >= firstCSSProperty + numCSSProperties)) return false; ImplicitAnimation* implAnim = m_transitions.get(property).get(); if (!implAnim) { // Check to see if this property is being animated via a shorthand. // This code is only used for testing, so performance is not critical here. HashSet<int> shorthandProperties = AnimationBase::animatableShorthandsAffectingProperty(property); bool anyPaused = false; HashSet<int>::const_iterator end = shorthandProperties.end(); for (HashSet<int>::const_iterator it = shorthandProperties.begin(); it != end; ++it) { if (pauseTransitionAtTime(*it, t)) anyPaused = true; } return anyPaused; } if (!implAnim->running()) return false; if ((t >= 0.0) && (t <= implAnim->duration())) { implAnim->freezeAtTime(t); return true; } return false; }