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

Unified Diff: third_party/WebKit/Source/core/animation/StyleInterpolation.cpp

Issue 2236193002: WIP: Implement CSS transitions on top of InterpolationTypes instead of AnimatableValues (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@_environmentStyle
Patch Set: Created 4 years, 4 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/animation/StyleInterpolation.cpp
diff --git a/third_party/WebKit/Source/core/animation/Interpolation.cpp b/third_party/WebKit/Source/core/animation/StyleInterpolation.cpp
similarity index 69%
rename from third_party/WebKit/Source/core/animation/Interpolation.cpp
rename to third_party/WebKit/Source/core/animation/StyleInterpolation.cpp
index 87da640bc503a0349d8e9fc04b60739a5578e3f2..32370996de96ce2ef817336c4c78f54504101160 100644
--- a/third_party/WebKit/Source/core/animation/Interpolation.cpp
+++ b/third_party/WebKit/Source/core/animation/StyleInterpolation.cpp
@@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#include "core/animation/Interpolation.h"
+#include "core/animation/StyleInterpolation.h"
#include <memory>
@@ -35,27 +35,18 @@ bool typesMatch(const InterpolableValue* start, const InterpolableValue* end)
} // namespace
-Interpolation::Interpolation(std::unique_ptr<InterpolableValue> start, std::unique_ptr<InterpolableValue> end)
+StyleInterpolation::StyleInterpolation(std::unique_ptr<InterpolableValue> start, std::unique_ptr<InterpolableValue> end, CSSPropertyID id)
: m_start(std::move(start))
, m_end(std::move(end))
- , m_cachedFraction(0)
- , m_cachedIteration(0)
+ , m_id(id)
, m_cachedValue(m_start ? m_start->clone() : nullptr)
{
RELEASE_ASSERT(typesMatch(m_start.get(), m_end.get()));
}
-Interpolation::~Interpolation()
+void StyleInterpolation::interpolateImpl()
{
-}
-
-void Interpolation::interpolate(int iteration, double fraction)
-{
- if (m_cachedFraction != fraction || m_cachedIteration != iteration) {
- m_start->interpolate(*m_end, fraction, *m_cachedValue);
- m_cachedIteration = iteration;
- m_cachedFraction = fraction;
- }
+ m_start->interpolate(*m_end, m_currentFraction, *m_cachedValue);
}
} // namespace blink

Powered by Google App Engine
This is Rietveld 408576698