| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 #include "ui/compositor/layer_animator.h" | 5 #include "ui/compositor/layer_animator.h" |
| 6 | 6 |
| 7 #include <stddef.h> | 7 #include <stddef.h> |
| 8 | 8 |
| 9 #include <memory> | 9 #include <memory> |
| 10 | 10 |
| (...skipping 138 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 149 | 149 |
| 150 cc::AnimationTimeline* timeline = compositor->GetAnimationTimeline(); | 150 cc::AnimationTimeline* timeline = compositor->GetAnimationTimeline(); |
| 151 DCHECK(timeline); | 151 DCHECK(timeline); |
| 152 | 152 |
| 153 DCHECK(delegate_->GetCcLayer()); | 153 DCHECK(delegate_->GetCcLayer()); |
| 154 | 154 |
| 155 // Register ElementAnimations so it will be picked up by | 155 // Register ElementAnimations so it will be picked up by |
| 156 // AnimationHost::RegisterPlayerForLayer via | 156 // AnimationHost::RegisterPlayerForLayer via |
| 157 // AnimationHost::GetElementAnimationsForLayerId. | 157 // AnimationHost::GetElementAnimationsForLayerId. |
| 158 if (element_animations_state_) { | 158 if (element_animations_state_) { |
| 159 DCHECK_EQ(element_animations_state_->layer_id(), | 159 DCHECK_EQ(element_animations_state_->element_id(), |
| 160 delegate_->GetCcLayer()->id()); | 160 delegate_->GetCcLayer()->id()); |
| 161 timeline->animation_host()->RegisterElementAnimations( | 161 timeline->animation_host()->RegisterElementAnimations( |
| 162 element_animations_state_.get()); | 162 element_animations_state_.get()); |
| 163 } | 163 } |
| 164 | 164 |
| 165 timeline->AttachPlayer(animation_player_); | 165 timeline->AttachPlayer(animation_player_); |
| 166 | 166 |
| 167 AttachLayerToAnimationPlayer(delegate_->GetCcLayer()->id()); | 167 AttachLayerToAnimationPlayer(delegate_->GetCcLayer()->id()); |
| 168 | 168 |
| 169 // Release ElementAnimations state. | 169 // Release ElementAnimations state. |
| 170 element_animations_state_ = nullptr; | 170 element_animations_state_ = nullptr; |
| 171 } | 171 } |
| 172 | 172 |
| 173 void LayerAnimator::ResetCompositor(Compositor* compositor) { | 173 void LayerAnimator::ResetCompositor(Compositor* compositor) { |
| 174 DCHECK(compositor); | 174 DCHECK(compositor); |
| 175 | 175 |
| 176 cc::AnimationTimeline* timeline = compositor->GetAnimationTimeline(); | 176 cc::AnimationTimeline* timeline = compositor->GetAnimationTimeline(); |
| 177 DCHECK(timeline); | 177 DCHECK(timeline); |
| 178 | 178 |
| 179 const int layer_id = animation_player_->layer_id(); | 179 const int layer_id = animation_player_->element_id(); |
| 180 | 180 |
| 181 // Store a reference to ElementAnimations (if any) | 181 // Store a reference to ElementAnimations (if any) |
| 182 // so it may be picked up in LayerAnimator::SetCompositor. | 182 // so it may be picked up in LayerAnimator::SetCompositor. |
| 183 if (layer_id) { | 183 if (layer_id) { |
| 184 element_animations_state_ = | 184 element_animations_state_ = |
| 185 timeline->animation_host()->GetElementAnimationsForLayerId(layer_id); | 185 timeline->animation_host()->GetElementAnimationsForLayerId(layer_id); |
| 186 } | 186 } |
| 187 | 187 |
| 188 DetachLayerFromAnimationPlayer(); | 188 DetachLayerFromAnimationPlayer(); |
| 189 | 189 |
| 190 timeline->DetachPlayer(animation_player_); | 190 timeline->DetachPlayer(animation_player_); |
| 191 } | 191 } |
| 192 | 192 |
| 193 void LayerAnimator::AttachLayerToAnimationPlayer(int layer_id) { | 193 void LayerAnimator::AttachLayerToAnimationPlayer(int layer_id) { |
| 194 if (!animation_player_->layer_id()) | 194 if (!animation_player_->element_id()) |
| 195 animation_player_->AttachLayer(layer_id); | 195 animation_player_->AttachLayer(layer_id); |
| 196 else | 196 else |
| 197 DCHECK_EQ(animation_player_->layer_id(), layer_id); | 197 DCHECK_EQ(animation_player_->element_id(), layer_id); |
| 198 | 198 |
| 199 animation_player_->set_layer_animation_delegate(this); | 199 animation_player_->set_layer_animation_delegate(this); |
| 200 } | 200 } |
| 201 | 201 |
| 202 void LayerAnimator::DetachLayerFromAnimationPlayer() { | 202 void LayerAnimator::DetachLayerFromAnimationPlayer() { |
| 203 animation_player_->set_layer_animation_delegate(nullptr); | 203 animation_player_->set_layer_animation_delegate(nullptr); |
| 204 | 204 |
| 205 if (animation_player_->layer_id()) | 205 if (animation_player_->element_id()) |
| 206 animation_player_->DetachLayer(); | 206 animation_player_->DetachLayer(); |
| 207 } | 207 } |
| 208 | 208 |
| 209 void LayerAnimator::AddThreadedAnimation( | 209 void LayerAnimator::AddThreadedAnimation( |
| 210 std::unique_ptr<cc::Animation> animation) { | 210 std::unique_ptr<cc::Animation> animation) { |
| 211 animation_player_->AddAnimation(std::move(animation)); | 211 animation_player_->AddAnimation(std::move(animation)); |
| 212 } | 212 } |
| 213 | 213 |
| 214 void LayerAnimator::RemoveThreadedAnimation(int animation_id) { | 214 void LayerAnimator::RemoveThreadedAnimation(int animation_id) { |
| 215 animation_player_->RemoveAnimation(animation_id); | 215 animation_player_->RemoveAnimation(animation_id); |
| (...skipping 748 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 964 const base::WeakPtr<LayerAnimationSequence>& sequence) | 964 const base::WeakPtr<LayerAnimationSequence>& sequence) |
| 965 : sequence_(sequence) { | 965 : sequence_(sequence) { |
| 966 } | 966 } |
| 967 | 967 |
| 968 LayerAnimator::RunningAnimation::RunningAnimation( | 968 LayerAnimator::RunningAnimation::RunningAnimation( |
| 969 const RunningAnimation& other) = default; | 969 const RunningAnimation& other) = default; |
| 970 | 970 |
| 971 LayerAnimator::RunningAnimation::~RunningAnimation() { } | 971 LayerAnimator::RunningAnimation::~RunningAnimation() { } |
| 972 | 972 |
| 973 } // namespace ui | 973 } // namespace ui |
| OLD | NEW |