| Index: third_party/WebKit/Source/core/animation/KeyframeEffectModel.cpp
|
| diff --git a/third_party/WebKit/Source/core/animation/KeyframeEffectModel.cpp b/third_party/WebKit/Source/core/animation/KeyframeEffectModel.cpp
|
| index 1c02f196f1637fb4220571063a9702f2c06971f9..7b531d4a43ab55d325af2871e6de0bb205e1f70d 100644
|
| --- a/third_party/WebKit/Source/core/animation/KeyframeEffectModel.cpp
|
| +++ b/third_party/WebKit/Source/core/animation/KeyframeEffectModel.cpp
|
| @@ -36,6 +36,7 @@
|
| #include "core/css/CSSPropertyEquality.h"
|
| #include "core/css/resolver/StyleResolver.h"
|
| #include "core/dom/Document.h"
|
| +#include "core/frame/UseCounter.h"
|
| #include "platform/animation/AnimationUtilities.h"
|
| #include "platform/geometry/FloatBox.h"
|
| #include "platform/transforms/TransformationMatrix.h"
|
| @@ -110,15 +111,22 @@ bool KeyframeEffectModelBase::snapshotAllCompositorKeyframes(
|
| const ComputedStyle* parentStyle) const {
|
| m_needsCompositorKeyframesSnapshot = false;
|
| bool updated = false;
|
| + bool hasNeutralCompositableKeyframe = false;
|
| ensureKeyframeGroups();
|
| for (CSSPropertyID property : CompositorAnimations::compositableProperties) {
|
| PropertySpecificKeyframeGroup* keyframeGroup =
|
| m_keyframeGroups->get(PropertyHandle(property));
|
| if (!keyframeGroup)
|
| continue;
|
| - for (auto& keyframe : keyframeGroup->m_keyframes)
|
| + for (auto& keyframe : keyframeGroup->m_keyframes) {
|
| updated |= keyframe->populateAnimatableValue(property, element, baseStyle,
|
| parentStyle);
|
| + hasNeutralCompositableKeyframe |= keyframe->isNeutral();
|
| + }
|
| + }
|
| + if (updated && hasNeutralCompositableKeyframe) {
|
| + UseCounter::count(element.document(),
|
| + UseCounter::SyntheticKeyframesInCompositedCSSAnimation);
|
| }
|
| return updated;
|
| }
|
|
|