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

Side by Side Diff: Source/core/animation/InterpolationEffect.h

Issue 758533004: Oilpan: enable eager tracing of common animation objects. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@sof-trace-eager-final
Patch Set: rebased Created 6 years 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
« no previous file with comments | « Source/core/animation/Interpolation.h ('k') | Source/core/animation/Keyframe.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef InterpolationEffect_h 5 #ifndef InterpolationEffect_h
6 #define InterpolationEffect_h 6 #define InterpolationEffect_h
7 7
8 #include "core/animation/Interpolation.h" 8 #include "core/animation/Interpolation.h"
9 #include "platform/animation/TimingFunction.h" 9 #include "platform/animation/TimingFunction.h"
10 #include "wtf/PassOwnPtr.h" 10 #include "wtf/PassOwnPtr.h"
(...skipping 10 matching lines...) Expand all
21 21
22 void getActiveInterpolations(double fraction, double iterationDuration, OwnP trWillBeRawPtr<WillBeHeapVector<RefPtrWillBeMember<Interpolation>>>&) const; 22 void getActiveInterpolations(double fraction, double iterationDuration, OwnP trWillBeRawPtr<WillBeHeapVector<RefPtrWillBeMember<Interpolation>>>&) const;
23 23
24 void addInterpolation(PassRefPtrWillBeRawPtr<Interpolation> interpolation, P assRefPtr<TimingFunction> easing, double start, double end, double applyFrom, do uble applyTo) 24 void addInterpolation(PassRefPtrWillBeRawPtr<Interpolation> interpolation, P assRefPtr<TimingFunction> easing, double start, double end, double applyFrom, do uble applyTo)
25 { 25 {
26 m_interpolations.append(InterpolationRecord::create(interpolation, easin g, start, end, applyFrom, applyTo)); 26 m_interpolations.append(InterpolationRecord::create(interpolation, easin g, start, end, applyFrom, applyTo));
27 } 27 }
28 28
29 void trace(Visitor*); 29 void trace(Visitor*);
30 30
31 private:
32 InterpolationEffect()
33 {
34 }
35
36 class InterpolationRecord : public NoBaseWillBeGarbageCollectedFinalized<Int erpolationRecord> { 31 class InterpolationRecord : public NoBaseWillBeGarbageCollectedFinalized<Int erpolationRecord> {
37 public: 32 public:
38 RefPtrWillBeMember<Interpolation> m_interpolation; 33 RefPtrWillBeMember<Interpolation> m_interpolation;
39 RefPtr<TimingFunction> m_easing; 34 RefPtr<TimingFunction> m_easing;
40 double m_start; 35 double m_start;
41 double m_end; 36 double m_end;
42 double m_applyFrom; 37 double m_applyFrom;
43 double m_applyTo; 38 double m_applyTo;
44 39
45 static PassOwnPtrWillBeRawPtr<InterpolationRecord> create(PassRefPtrWill BeRawPtr<Interpolation> interpolation, PassRefPtr<TimingFunction> easing, double start, double end, double applyFrom, double applyTo) 40 static PassOwnPtrWillBeRawPtr<InterpolationRecord> create(PassRefPtrWill BeRawPtr<Interpolation> interpolation, PassRefPtr<TimingFunction> easing, double start, double end, double applyFrom, double applyTo)
46 { 41 {
47 return adoptPtrWillBeNoop(new InterpolationRecord(interpolation, eas ing, start, end, applyFrom, applyTo)); 42 return adoptPtrWillBeNoop(new InterpolationRecord(interpolation, eas ing, start, end, applyFrom, applyTo));
48 } 43 }
49 44
50 void trace(Visitor*); 45 void trace(Visitor*);
51 46
52 private: 47 private:
53 InterpolationRecord(PassRefPtrWillBeRawPtr<Interpolation> interpolation, PassRefPtr<TimingFunction> easing, double start, double end, double applyFrom, double applyTo) 48 InterpolationRecord(PassRefPtrWillBeRawPtr<Interpolation> interpolation, PassRefPtr<TimingFunction> easing, double start, double end, double applyFrom, double applyTo)
54 : m_interpolation(interpolation) 49 : m_interpolation(interpolation)
55 , m_easing(easing) 50 , m_easing(easing)
56 , m_start(start) 51 , m_start(start)
57 , m_end(end) 52 , m_end(end)
58 , m_applyFrom(applyFrom) 53 , m_applyFrom(applyFrom)
59 , m_applyTo(applyTo) 54 , m_applyTo(applyTo)
60 { 55 {
61 } 56 }
62 }; 57 };
63 58
59 private:
60 InterpolationEffect()
61 {
62 }
63
64 WillBeHeapVector<OwnPtrWillBeMember<InterpolationRecord> > m_interpolations; 64 WillBeHeapVector<OwnPtrWillBeMember<InterpolationRecord> > m_interpolations;
65 }; 65 };
66 66
67 } 67 WILL_BE_EAGERLY_TRACED(InterpolationEffect);
68 WILL_BE_EAGERLY_TRACED(InterpolationEffect::InterpolationRecord);
68 69
69 #endif 70 } // namespace blink
71
72 #endif // InterpolationEffect_h
OLDNEW
« no previous file with comments | « Source/core/animation/Interpolation.h ('k') | Source/core/animation/Keyframe.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698