Index: ui/gfx/compositor/scoped_layer_animation_settings.cc |
=================================================================== |
--- ui/gfx/compositor/scoped_layer_animation_settings.cc (revision 120096) |
+++ ui/gfx/compositor/scoped_layer_animation_settings.cc (working copy) |
@@ -26,19 +26,27 @@ |
ScopedLayerAnimationSettings::~ScopedLayerAnimationSettings() { |
animator_->transition_duration_ = old_transition_duration_; |
+ for (std::set<LayerAnimationObserver*>::const_iterator i = |
+ observers_.begin(); i != observers_.end(); ++i) |
+ animator_->observers_.RemoveObserver(*i); |
+ |
for (std::set<ImplicitAnimationObserver*>::const_iterator i = |
- observers_.begin(); i != observers_.end(); ++i) { |
- animator_->observers_.RemoveObserver(*i); |
- (*i)->SetActive(true); |
- } |
+ implicit_observers_.begin(); i != implicit_observers_.end(); ++i) |
+ (*i)->SetActive(true); |
} |
void ScopedLayerAnimationSettings::AddObserver( |
- ImplicitAnimationObserver* observer) { |
+ LayerAnimationObserver* observer) { |
observers_.insert(observer); |
animator_->AddObserver(observer); |
} |
+void ScopedLayerAnimationSettings::AddImplicitObserver( |
+ ImplicitAnimationObserver* observer) { |
+ implicit_observers_.insert(observer); |
+ AddObserver(observer); |
+} |
+ |
void ScopedLayerAnimationSettings::SetTransitionDuration( |
base::TimeDelta duration) { |
animator_->transition_duration_ = duration; |