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

Side by Side Diff: third_party/WebKit/Source/core/animation/animatable/AnimatableValue.h

Issue 1701813002: Make Keyframe::PropertySpecificKeyframes RefCounted (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: InvalidatableInterpolation RefPtrs Created 4 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 unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2013 Google Inc. All rights reserved. 2 * Copyright (C) 2013 Google Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions are 5 * modification, are permitted provided that the following conditions are
6 * met: 6 * met:
7 * 7 *
8 * * Redistributions of source code must retain the above copyright 8 * * Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer. 9 * notice, this list of conditions and the following disclaimer.
10 * * Redistributions in binary form must reproduce the above 10 * * Redistributions in binary form must reproduce the above
(...skipping 24 matching lines...) Expand all
35 #include "core/css/CSSValue.h" 35 #include "core/css/CSSValue.h"
36 #include "platform/heap/Handle.h" 36 #include "platform/heap/Handle.h"
37 #include "wtf/RefCounted.h" 37 #include "wtf/RefCounted.h"
38 38
39 namespace blink { 39 namespace blink {
40 40
41 class CORE_EXPORT AnimatableValue : public RefCounted<AnimatableValue> { 41 class CORE_EXPORT AnimatableValue : public RefCounted<AnimatableValue> {
42 public: 42 public:
43 virtual ~AnimatableValue() { } 43 virtual ~AnimatableValue() { }
44 44
45 static const AnimatableValue* neutralValue(); 45 static PassRefPtr<AnimatableValue> neutralValue();
46 46
47 static PassRefPtr<AnimatableValue> interpolate(const AnimatableValue*, const AnimatableValue*, double fraction); 47 static PassRefPtr<AnimatableValue> interpolate(const AnimatableValue*, const AnimatableValue*, double fraction);
48 static bool usesDefaultInterpolation(const AnimatableValue* from, const Anim atableValue* to) 48 static bool usesDefaultInterpolation(const AnimatableValue* from, const Anim atableValue* to)
49 { 49 {
50 return !from->isSameType(to) || from->usesDefaultInterpolationWith(to); 50 return !from->isSameType(to) || from->usesDefaultInterpolationWith(to);
51 } 51 }
52 52
53 bool equals(const AnimatableValue* value) const 53 bool equals(const AnimatableValue* value) const
54 { 54 {
55 return isSameType(value) && equalTo(value); 55 return isSameType(value) && equalTo(value);
(...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after
130 130
131 template <class Keyframe> friend class KeyframeEffectModel; 131 template <class Keyframe> friend class KeyframeEffectModel;
132 }; 132 };
133 133
134 #define DEFINE_ANIMATABLE_VALUE_TYPE_CASTS(thisType, predicate) \ 134 #define DEFINE_ANIMATABLE_VALUE_TYPE_CASTS(thisType, predicate) \
135 DEFINE_TYPE_CASTS(thisType, AnimatableValue, value, value->predicate, value. predicate) 135 DEFINE_TYPE_CASTS(thisType, AnimatableValue, value, value->predicate, value. predicate)
136 136
137 } // namespace blink 137 } // namespace blink
138 138
139 #endif // AnimatableValue_h 139 #endif // AnimatableValue_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698