| Index: third_party/WebKit/Source/core/animation/InvalidatableInterpolation.cpp
|
| diff --git a/third_party/WebKit/Source/core/animation/InvalidatableInterpolation.cpp b/third_party/WebKit/Source/core/animation/InvalidatableInterpolation.cpp
|
| index ef975f9d998c912529d0cdae04d6a2f0cabd7cfe..e480166ee7911ad9307bbc574689bfd142d7af45 100644
|
| --- a/third_party/WebKit/Source/core/animation/InvalidatableInterpolation.cpp
|
| +++ b/third_party/WebKit/Source/core/animation/InvalidatableInterpolation.cpp
|
| @@ -32,7 +32,7 @@
|
| const InterpolationEnvironment& environment,
|
| const UnderlyingValueOwner& underlyingValueOwner) const {
|
| DCHECK(m_currentFraction != 0 && m_currentFraction != 1);
|
| - for (const auto& interpolationType : *m_interpolationTypes) {
|
| + for (const auto& interpolationType : m_interpolationTypes) {
|
| if ((m_startKeyframe->isNeutral() || m_endKeyframe->isNeutral()) &&
|
| (!underlyingValueOwner ||
|
| underlyingValueOwner.type() != *interpolationType))
|
| @@ -59,7 +59,7 @@
|
| const UnderlyingValueOwner& underlyingValueOwner) const {
|
| if (keyframe.isNeutral() && !underlyingValueOwner)
|
| return nullptr;
|
| - for (const auto& interpolationType : *m_interpolationTypes) {
|
| + for (const auto& interpolationType : m_interpolationTypes) {
|
| if (keyframe.isNeutral() &&
|
| underlyingValueOwner.type() != *interpolationType)
|
| continue;
|
| @@ -89,7 +89,7 @@
|
| std::unique_ptr<TypedInterpolationValue>
|
| InvalidatableInterpolation::maybeConvertUnderlyingValue(
|
| const InterpolationEnvironment& environment) const {
|
| - for (const auto& interpolationType : *m_interpolationTypes) {
|
| + for (const auto& interpolationType : m_interpolationTypes) {
|
| InterpolationValue result =
|
| interpolationType->maybeConvertUnderlyingValue(environment);
|
| if (result)
|
| @@ -144,9 +144,6 @@
|
| const InterpolationEnvironment& environment,
|
| const UnderlyingValueOwner& underlyingValueOwner) const {
|
| DCHECK(!std::isnan(m_currentFraction));
|
| - DCHECK(m_interpolationTypes &&
|
| - m_interpolationTypesVersion ==
|
| - environment.interpolationTypesMap().version());
|
| if (isConversionCacheValid(environment, underlyingValueOwner))
|
| return m_cachedValue.get();
|
| clearConversionCache();
|
| @@ -175,22 +172,6 @@
|
| return m_cachedValue.get();
|
| }
|
|
|
| -void InvalidatableInterpolation::ensureValidInterpolationTypes(
|
| - const InterpolationEnvironment& environment) const {
|
| - const InterpolationTypesMap& map = environment.interpolationTypesMap();
|
| - size_t latestVersion = map.version();
|
| - if (m_interpolationTypes && m_interpolationTypesVersion == latestVersion) {
|
| - return;
|
| - }
|
| - const InterpolationTypes* latestInterpolationTypes = &map.get(m_property);
|
| - DCHECK(latestInterpolationTypes);
|
| - if (m_interpolationTypes != latestInterpolationTypes) {
|
| - clearConversionCache();
|
| - }
|
| - m_interpolationTypes = latestInterpolationTypes;
|
| - m_interpolationTypesVersion = latestVersion;
|
| -}
|
| -
|
| void InvalidatableInterpolation::setFlagIfInheritUsed(
|
| InterpolationEnvironment& environment) const {
|
| if (!m_property.isCSSProperty() && !m_property.isPresentationAttribute())
|
| @@ -227,7 +208,6 @@
|
| UnderlyingValueOwner underlyingValueOwner;
|
| const InvalidatableInterpolation& firstInterpolation =
|
| toInvalidatableInterpolation(*interpolations.at(startingIndex));
|
| - firstInterpolation.ensureValidInterpolationTypes(environment);
|
| if (firstInterpolation.dependsOnUnderlyingValue()) {
|
| underlyingValueOwner.set(
|
| firstInterpolation.maybeConvertUnderlyingValue(environment));
|
| @@ -255,7 +235,6 @@
|
| const InvalidatableInterpolation& currentInterpolation =
|
| toInvalidatableInterpolation(*interpolations.at(i));
|
| DCHECK(currentInterpolation.dependsOnUnderlyingValue());
|
| - currentInterpolation.ensureValidInterpolationTypes(environment);
|
| const TypedInterpolationValue* currentValue =
|
| currentInterpolation.ensureValidConversion(environment,
|
| underlyingValueOwner);
|
|
|