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

Unified Diff: third_party/WebKit/Source/core/svg/SVGDocumentExtensions.cpp

Issue 1412423004: Web Animations: Move property handle filtering into AnimationStack building (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@_svgAdditiveApplication
Patch Set: Created 5 years, 2 months 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/svg/SVGDocumentExtensions.cpp
diff --git a/third_party/WebKit/Source/core/svg/SVGDocumentExtensions.cpp b/third_party/WebKit/Source/core/svg/SVGDocumentExtensions.cpp
index 055f098d010923961cae73e2b90f9a3a5213056a..1becabf5afa614611854561890903ccb75121132 100644
--- a/third_party/WebKit/Source/core/svg/SVGDocumentExtensions.cpp
+++ b/third_party/WebKit/Source/core/svg/SVGDocumentExtensions.cpp
@@ -98,6 +98,11 @@ void SVGDocumentExtensions::serviceOnAnimationFrame(Document& document, double m
document.accessSVGExtensions().serviceAnimations(monotonicAnimationStartTime);
}
+static bool isSVGAttributeHandle(const PropertyHandle& propertyHandle)
+{
+ return propertyHandle.isSVGAttribute();
+}
+
void SVGDocumentExtensions::serviceAnimations(double monotonicAnimationStartTime)
{
if (RuntimeEnabledFeatures::smilEnabled()) {
@@ -109,10 +114,8 @@ void SVGDocumentExtensions::serviceAnimations(double monotonicAnimationStartTime
// TODO(alancutter): Make SVG animation effect application a separate document lifecycle phase from servicing animations to be responsive to Javascript manipulation of exposed animation objects.
for (auto& svgElement : m_webAnimatedSVGElements) {
- ActiveInterpolationsMap activeInterpolationsMap = AnimationStack::activeInterpolations(&svgElement->elementAnimations()->animationStack(), nullptr, nullptr, KeyframeEffect::DefaultPriority, 0);
+ ActiveInterpolationsMap activeInterpolationsMap = AnimationStack::activeInterpolations(&svgElement->elementAnimations()->animationStack(), nullptr, nullptr, KeyframeEffect::DefaultPriority, 0, isSVGAttributeHandle);
for (auto& entry : activeInterpolationsMap) {
- if (!entry.key.isSVGAttribute())
- continue;
const QualifiedName& attribute = entry.key.svgAttribute();
const Interpolation& interpolation = *entry.value.first();
if (interpolation.isInvalidatableInterpolation()) {

Powered by Google App Engine
This is Rietveld 408576698