OLD | NEW |
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 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
50 // Represents the order in which a sequence of SampledEffects should apply. | 50 // Represents the order in which a sequence of SampledEffects should apply. |
51 // This sequence is broken down to per PropertyHandle granularity. | 51 // This sequence is broken down to per PropertyHandle granularity. |
52 class CORE_EXPORT EffectStack { | 52 class CORE_EXPORT EffectStack { |
53 DISALLOW_NEW(); | 53 DISALLOW_NEW(); |
54 WTF_MAKE_NONCOPYABLE(EffectStack); | 54 WTF_MAKE_NONCOPYABLE(EffectStack); |
55 | 55 |
56 public: | 56 public: |
57 EffectStack(); | 57 EffectStack(); |
58 | 58 |
59 void add(SampledEffect* sampledEffect) { | 59 void add(SampledEffect* sampledEffect) { |
60 m_sampledEffects.append(sampledEffect); | 60 m_sampledEffects.push_back(sampledEffect); |
61 } | 61 } |
62 bool isEmpty() const { return m_sampledEffects.isEmpty(); } | 62 bool isEmpty() const { return m_sampledEffects.isEmpty(); } |
63 bool hasActiveAnimationsOnCompositor(CSSPropertyID) const; | 63 bool hasActiveAnimationsOnCompositor(CSSPropertyID) const; |
64 | 64 |
65 using PropertyHandleFilter = bool (*)(const PropertyHandle&); | 65 using PropertyHandleFilter = bool (*)(const PropertyHandle&); |
66 bool affectsProperties(PropertyHandleFilter) const; | 66 bool affectsProperties(PropertyHandleFilter) const; |
67 static ActiveInterpolationsMap activeInterpolations( | 67 static ActiveInterpolationsMap activeInterpolations( |
68 EffectStack*, | 68 EffectStack*, |
69 const HeapVector<Member<const InertEffect>>* newAnimations, | 69 const HeapVector<Member<const InertEffect>>* newAnimations, |
70 const HeapHashSet<Member<const Animation>>* suppressedAnimations, | 70 const HeapHashSet<Member<const Animation>>* suppressedAnimations, |
71 KeyframeEffectReadOnly::Priority, | 71 KeyframeEffectReadOnly::Priority, |
72 PropertyHandleFilter = nullptr); | 72 PropertyHandleFilter = nullptr); |
73 | 73 |
74 bool getAnimatedBoundingBox(FloatBox&, CSSPropertyID) const; | 74 bool getAnimatedBoundingBox(FloatBox&, CSSPropertyID) const; |
75 DECLARE_TRACE(); | 75 DECLARE_TRACE(); |
76 | 76 |
77 private: | 77 private: |
78 void removeRedundantSampledEffects(); | 78 void removeRedundantSampledEffects(); |
79 | 79 |
80 // Effects sorted by priority. Lower priority at the start of the list. | 80 // Effects sorted by priority. Lower priority at the start of the list. |
81 HeapVector<Member<SampledEffect>> m_sampledEffects; | 81 HeapVector<Member<SampledEffect>> m_sampledEffects; |
82 | 82 |
83 friend class AnimationEffectStackTest; | 83 friend class AnimationEffectStackTest; |
84 }; | 84 }; |
85 | 85 |
86 } // namespace blink | 86 } // namespace blink |
87 | 87 |
88 #endif // EffectStack_h | 88 #endif // EffectStack_h |
OLD | NEW |