Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(57)

Unified Diff: third_party/WebKit/Source/core/animation/css/CSSAnimations.cpp

Issue 2309963002: Apply custom property animation (Closed)
Patch Set: Rebase Created 4 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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);

Powered by Google App Engine
This is Rietveld 408576698