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

Unified Diff: third_party/WebKit/Source/core/animation/KeyframeEffectModel.h

Issue 2651533004: Add TransitionKeyframeEffectModel specialisation (Closed)
Patch Set: lint Created 3 years, 10 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
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: third_party/WebKit/Source/core/animation/KeyframeEffectModel.h
diff --git a/third_party/WebKit/Source/core/animation/KeyframeEffectModel.h b/third_party/WebKit/Source/core/animation/KeyframeEffectModel.h
index a92b608f5cb84883cef9c15674bf926f6b87102a..57329c6826cc447a3dd23fe72ca720bdd5c28a82 100644
--- a/third_party/WebKit/Source/core/animation/KeyframeEffectModel.h
+++ b/third_party/WebKit/Source/core/animation/KeyframeEffectModel.h
@@ -31,12 +31,14 @@
#ifndef KeyframeEffectModel_h
#define KeyframeEffectModel_h
+#include <memory>
#include "core/CoreExport.h"
#include "core/animation/AnimationEffectReadOnly.h"
#include "core/animation/EffectModel.h"
#include "core/animation/InterpolationEffect.h"
#include "core/animation/PropertyHandle.h"
#include "core/animation/StringKeyframe.h"
+#include "core/animation/TransitionKeyframe.h"
#include "core/animation/animatable/AnimatableValueKeyframe.h"
#include "platform/animation/TimingFunction.h"
#include "platform/heap/Handle.h"
@@ -44,7 +46,6 @@
#include "wtf/HashSet.h"
#include "wtf/PassRefPtr.h"
#include "wtf/Vector.h"
-#include <memory>
namespace blink {
@@ -105,6 +106,7 @@ class CORE_EXPORT KeyframeEffectModelBase : public EffectModel {
virtual bool isAnimatableValueKeyframeEffectModel() const { return false; }
virtual bool isStringKeyframeEffectModel() const { return false; }
+ virtual bool isTransitionKeyframeEffectModel() const { return false; }
bool hasSyntheticKeyframes() const {
ensureKeyframeGroups();
@@ -187,6 +189,7 @@ class KeyframeEffectModel final : public KeyframeEffectModelBase {
virtual bool isAnimatableValueKeyframeEffectModel() const { return false; }
virtual bool isStringKeyframeEffectModel() const { return false; }
+ virtual bool isTransitionKeyframeEffectModel() const { return false; }
};
using KeyframeVector = KeyframeEffectModelBase::KeyframeVector;
@@ -205,6 +208,11 @@ using StringKeyframeVector = StringKeyframeEffectModel::KeyframeVector;
using StringPropertySpecificKeyframeVector =
StringKeyframeEffectModel::PropertySpecificKeyframeVector;
+using TransitionKeyframeEffectModel = KeyframeEffectModel<TransitionKeyframe>;
+using TransitionKeyframeVector = TransitionKeyframeEffectModel::KeyframeVector;
+using TransitionPropertySpecificKeyframeVector =
+ TransitionKeyframeEffectModel::PropertySpecificKeyframeVector;
+
DEFINE_TYPE_CASTS(KeyframeEffectModelBase,
EffectModel,
value,
@@ -220,6 +228,11 @@ DEFINE_TYPE_CASTS(StringKeyframeEffectModel,
value,
value->isStringKeyframeEffectModel(),
value.isStringKeyframeEffectModel());
+DEFINE_TYPE_CASTS(TransitionKeyframeEffectModel,
+ KeyframeEffectModelBase,
+ value,
+ value->isTransitionKeyframeEffectModel(),
+ value.isTransitionKeyframeEffectModel());
inline const AnimatableValueKeyframeEffectModel*
toAnimatableValueKeyframeEffectModel(const EffectModel* base) {
@@ -241,6 +254,11 @@ inline StringKeyframeEffectModel* toStringKeyframeEffectModel(
return toStringKeyframeEffectModel(toKeyframeEffectModelBase(base));
}
+inline TransitionKeyframeEffectModel* toTransitionKeyframeEffectModel(
+ EffectModel* base) {
+ return toTransitionKeyframeEffectModel(toKeyframeEffectModelBase(base));
+}
+
template <>
inline bool KeyframeEffectModel<
AnimatableValueKeyframe>::isAnimatableValueKeyframeEffectModel() const {
@@ -253,6 +271,12 @@ inline bool KeyframeEffectModel<StringKeyframe>::isStringKeyframeEffectModel()
return true;
}
+template <>
+inline bool KeyframeEffectModel<
+ TransitionKeyframe>::isTransitionKeyframeEffectModel() const {
+ return true;
+}
+
} // namespace blink
#endif // KeyframeEffectModel_h
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698