| Index: third_party/WebKit/Source/core/animation/css/CSSAnimations.cpp
|
| diff --git a/third_party/WebKit/Source/core/animation/css/CSSAnimations.cpp b/third_party/WebKit/Source/core/animation/css/CSSAnimations.cpp
|
| index fd942c0ca814fa5a684cec29291edad7f5f70445..cd9517c12d0bc48412c11b966ca31bb5fa148c2b 100644
|
| --- a/third_party/WebKit/Source/core/animation/css/CSSAnimations.cpp
|
| +++ b/third_party/WebKit/Source/core/animation/css/CSSAnimations.cpp
|
| @@ -231,19 +231,15 @@ bool CSSAnimations::isTransitionAnimationForInspector(
|
| return false;
|
| }
|
|
|
| -void CSSAnimations::calculateUpdate(const Element* animatingElement,
|
| - Element& element,
|
| - const ComputedStyle& style,
|
| - ComputedStyle* parentStyle,
|
| - CSSAnimationUpdate& animationUpdate,
|
| - StyleResolver* resolver) {
|
| +void CSSAnimations::calculateCompositorAndTransitionUpdate(
|
| + const Element* animatingElement,
|
| + Element& element,
|
| + const ComputedStyle& style,
|
| + ComputedStyle* parentStyle,
|
| + CSSAnimationUpdate& animationUpdate) {
|
| calculateCompositorAnimationUpdate(animationUpdate, animatingElement, element,
|
| style, parentStyle);
|
| - calculateAnimationUpdate(animationUpdate, animatingElement, element, style,
|
| - parentStyle, resolver);
|
| - calculateAnimationActiveInterpolations(animationUpdate, animatingElement);
|
| calculateTransitionUpdate(animationUpdate, animatingElement, style);
|
| - calculateTransitionActiveInterpolations(animationUpdate, animatingElement);
|
| }
|
|
|
| static const KeyframeEffectModelBase* getKeyframeEffectModelBase(
|
| @@ -427,6 +423,7 @@ void CSSAnimations::calculateAnimationUpdate(CSSAnimationUpdate& update,
|
| *cssAnimations->m_runningAnimations[i]->animation);
|
| }
|
| }
|
| + calculateAnimationActiveInterpolations(update, animatingElement);
|
| }
|
|
|
| void CSSAnimations::snapshotCompositorKeyframes(
|
| @@ -826,6 +823,7 @@ void CSSAnimations::calculateTransitionUpdate(CSSAnimationUpdate& update,
|
| }
|
| }
|
| }
|
| + calculateTransitionActiveInterpolations(update, animatingElement);
|
| }
|
|
|
| void CSSAnimations::cancel() {
|
| @@ -1094,6 +1092,18 @@ bool CSSAnimations::isAffectedByKeyframesFromScope(const Element& element,
|
| return toShadowRoot(treeScope.rootNode()).host() == element;
|
| }
|
|
|
| +bool CSSAnimations::isCustomPropertyHandle(const PropertyHandle& property) {
|
| + return property.isCSSProperty() &&
|
| + property.cssProperty() == CSSPropertyVariable;
|
| +}
|
| +
|
| +bool CSSAnimations::isAnimatingCustomProperties(
|
| + const ElementAnimations* elementAnimations) {
|
| + return elementAnimations &&
|
| + elementAnimations->effectStack().affectsProperties(
|
| + isCustomPropertyHandle);
|
| +}
|
| +
|
| DEFINE_TRACE(CSSAnimations) {
|
| visitor->trace(m_transitions);
|
| visitor->trace(m_pendingUpdate);
|
|
|