Index: ui/compositor/layer_animator.cc |
diff --git a/ui/compositor/layer_animator.cc b/ui/compositor/layer_animator.cc |
index dd727a6c549458e3e9abbc326ec85aa7de2b0d98..0fad04a2cd252b73ad56ff3f8a37bd008ca3a01a 100644 |
--- a/ui/compositor/layer_animator.cc |
+++ b/ui/compositor/layer_animator.cc |
@@ -55,6 +55,7 @@ gfx::AnimationContainer* GetAnimationContainer() { |
LayerAnimator::LayerAnimator(base::TimeDelta transition_duration) |
: delegate_(NULL), |
preemption_strategy_(IMMEDIATELY_SET_NEW_TARGET), |
+ is_transition_duration_locked_(false), |
transition_duration_(transition_duration), |
tween_type_(gfx::Tween::LINEAR), |
is_started_(false), |
@@ -118,6 +119,10 @@ ANIMATED_PROPERTY(float, BRIGHTNESS, Brightness, float, brightness); |
ANIMATED_PROPERTY(float, GRAYSCALE, Grayscale, float, grayscale); |
ANIMATED_PROPERTY(SkColor, COLOR, Color, SkColor, color); |
+base::TimeDelta LayerAnimator::GetTransitionDuration() const { |
+ return transition_duration_; |
+} |
+ |
void LayerAnimator::SetDelegate(LayerAnimationDelegate* delegate) { |
delegate_ = delegate; |
} |
@@ -810,8 +815,10 @@ void LayerAnimator::OnScheduled(LayerAnimationSequence* sequence) { |
sequence->OnScheduled(); |
} |
-base::TimeDelta LayerAnimator::GetTransitionDuration() const { |
- return transition_duration_; |
+void LayerAnimator::SetTransitionDuration(base::TimeDelta duration) { |
+ if (is_transition_duration_locked_) |
+ return; |
+ transition_duration_ = duration; |
} |
void LayerAnimator::ClearAnimationsInternal() { |