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

Side by Side Diff: Source/core/animation/css/CSSAnimationUpdate.h

Issue 1299323005: blink: Add backdrop-filter support (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: one more Created 5 years, 3 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 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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 CSSAnimationUpdate_h 5 #ifndef CSSAnimationUpdate_h
6 #define CSSAnimationUpdate_h 6 #define CSSAnimationUpdate_h
7 7
8 #include "core/animation/AnimationStack.h" 8 #include "core/animation/AnimationStack.h"
9 #include "core/animation/InertEffect.h" 9 #include "core/animation/InertEffect.h"
10 #include "core/animation/Interpolation.h" 10 #include "core/animation/Interpolation.h"
(...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after
94 class UpdatedAnimationStyle { 94 class UpdatedAnimationStyle {
95 ALLOW_ONLY_INLINE_ALLOCATION(); 95 ALLOW_ONLY_INLINE_ALLOCATION();
96 public: 96 public:
97 struct CompositableStyleSnapshot { 97 struct CompositableStyleSnapshot {
98 DISALLOW_ALLOCATION(); 98 DISALLOW_ALLOCATION();
99 99
100 public: 100 public:
101 RefPtrWillBeMember<AnimatableValue> opacity; 101 RefPtrWillBeMember<AnimatableValue> opacity;
102 RefPtrWillBeMember<AnimatableValue> transform; 102 RefPtrWillBeMember<AnimatableValue> transform;
103 RefPtrWillBeMember<AnimatableValue> webkitFilter; 103 RefPtrWillBeMember<AnimatableValue> webkitFilter;
104 RefPtrWillBeMember<AnimatableValue> backdropFilter;
104 105
105 DEFINE_INLINE_TRACE() 106 DEFINE_INLINE_TRACE()
106 { 107 {
107 visitor->trace(opacity); 108 visitor->trace(opacity);
108 visitor->trace(transform); 109 visitor->trace(transform);
109 visitor->trace(webkitFilter); 110 visitor->trace(webkitFilter);
111 visitor->trace(backdropFilter);
110 } 112 }
111 }; 113 };
112 114
113 UpdatedAnimationStyle() 115 UpdatedAnimationStyle()
114 { 116 {
115 } 117 }
116 118
117 UpdatedAnimationStyle(Animation* animation, KeyframeEffectModelBase* mod el, const UpdatedAnimationStyle::CompositableStyleSnapshot& snapshot) 119 UpdatedAnimationStyle(Animation* animation, KeyframeEffectModelBase* mod el, const UpdatedAnimationStyle::CompositableStyleSnapshot& snapshot)
118 : animation(animation) 120 : animation(animation)
119 , model(model) 121 , model(model)
(...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after
201 { 203 {
202 UpdatedAnimationStyle::CompositableStyleSnapshot snapshot; 204 UpdatedAnimationStyle::CompositableStyleSnapshot snapshot;
203 if (layoutObject) { 205 if (layoutObject) {
204 const ComputedStyle& oldStyle = layoutObject->styleRef(); 206 const ComputedStyle& oldStyle = layoutObject->styleRef();
205 if (!CSSPropertyEquality::propertiesEqual(CSSPropertyOpacity, oldSty le, newStyle) && model->affects(PropertyHandle(CSSPropertyOpacity))) 207 if (!CSSPropertyEquality::propertiesEqual(CSSPropertyOpacity, oldSty le, newStyle) && model->affects(PropertyHandle(CSSPropertyOpacity)))
206 snapshot.opacity = CSSAnimatableValueFactory::create(CSSProperty Opacity, newStyle); 208 snapshot.opacity = CSSAnimatableValueFactory::create(CSSProperty Opacity, newStyle);
207 if (!CSSPropertyEquality::propertiesEqual(CSSPropertyTransform, oldS tyle, newStyle) && model->affects(PropertyHandle(CSSPropertyTransform))) 209 if (!CSSPropertyEquality::propertiesEqual(CSSPropertyTransform, oldS tyle, newStyle) && model->affects(PropertyHandle(CSSPropertyTransform)))
208 snapshot.transform = CSSAnimatableValueFactory::create(CSSProper tyTransform, newStyle); 210 snapshot.transform = CSSAnimatableValueFactory::create(CSSProper tyTransform, newStyle);
209 if (!CSSPropertyEquality::propertiesEqual(CSSPropertyWebkitFilter, o ldStyle, newStyle) && model->affects(PropertyHandle(CSSPropertyWebkitFilter))) 211 if (!CSSPropertyEquality::propertiesEqual(CSSPropertyWebkitFilter, o ldStyle, newStyle) && model->affects(PropertyHandle(CSSPropertyWebkitFilter)))
210 snapshot.webkitFilter = CSSAnimatableValueFactory::create(CSSPro pertyWebkitFilter, newStyle); 212 snapshot.webkitFilter = CSSAnimatableValueFactory::create(CSSPro pertyWebkitFilter, newStyle);
213 if (!CSSPropertyEquality::propertiesEqual(CSSPropertyBackdropFilter, oldStyle, newStyle) && model->affects(PropertyHandle(CSSPropertyBackdropFilter) ))
214 snapshot.backdropFilter = CSSAnimatableValueFactory::create(CSSP ropertyBackdropFilter, newStyle);
211 } 215 }
212 216
213 m_animationsWithStyleUpdates.append(UpdatedAnimationStyle(animation, mod el, snapshot)); 217 m_animationsWithStyleUpdates.append(UpdatedAnimationStyle(animation, mod el, snapshot));
214 } 218 }
215 219
216 void startTransition(CSSPropertyID id, const AnimatableValue* from, const An imatableValue* to, PassRefPtrWillBeRawPtr<InertEffect> effect) 220 void startTransition(CSSPropertyID id, const AnimatableValue* from, const An imatableValue* to, PassRefPtrWillBeRawPtr<InertEffect> effect)
217 { 221 {
218 effect->setName(getPropertyName(id)); 222 effect->setName(getPropertyName(id));
219 NewTransition newTransition; 223 NewTransition newTransition;
220 newTransition.id = id; 224 newTransition.id = id;
(...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after
308 ActiveInterpolationMap m_activeInterpolationsForTransitions; 312 ActiveInterpolationMap m_activeInterpolationsForTransitions;
309 }; 313 };
310 314
311 } // namespace blink 315 } // namespace blink
312 316
313 WTF_ALLOW_INIT_WITH_MEM_FUNCTIONS(blink::CSSAnimationUpdate::NewAnimation); 317 WTF_ALLOW_INIT_WITH_MEM_FUNCTIONS(blink::CSSAnimationUpdate::NewAnimation);
314 WTF_ALLOW_INIT_WITH_MEM_FUNCTIONS(blink::CSSAnimationUpdate::UpdatedAnimation); 318 WTF_ALLOW_INIT_WITH_MEM_FUNCTIONS(blink::CSSAnimationUpdate::UpdatedAnimation);
315 WTF_ALLOW_INIT_WITH_MEM_FUNCTIONS(blink::CSSAnimationUpdate::UpdatedAnimationSty le); 319 WTF_ALLOW_INIT_WITH_MEM_FUNCTIONS(blink::CSSAnimationUpdate::UpdatedAnimationSty le);
316 320
317 #endif 321 #endif
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698