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_->element_id(), | 159 DCHECK_EQ(element_animations_state_->element_id().primaryId, |
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_->element_id(); | 179 cc::ElementId element_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 (element_id) { |
184 element_animations_state_ = | 184 element_animations_state_ = |
185 timeline->animation_host()->GetElementAnimationsForElementId(layer_id); | 185 timeline->animation_host()->GetElementAnimationsForElementId( |
| 186 element_id); |
186 } | 187 } |
187 | 188 |
188 DetachLayerFromAnimationPlayer(); | 189 DetachLayerFromAnimationPlayer(); |
189 | 190 |
190 timeline->DetachPlayer(animation_player_); | 191 timeline->DetachPlayer(animation_player_); |
191 } | 192 } |
192 | 193 |
193 void LayerAnimator::AttachLayerToAnimationPlayer(int layer_id) { | 194 void LayerAnimator::AttachLayerToAnimationPlayer(int layer_id) { |
| 195 // For ui, layer and element ids are equivalent. |
| 196 cc::ElementId element_id(layer_id, 0); |
194 if (!animation_player_->element_id()) | 197 if (!animation_player_->element_id()) |
195 animation_player_->AttachElement(layer_id); | 198 animation_player_->AttachElement(element_id); |
196 else | 199 else |
197 DCHECK_EQ(animation_player_->element_id(), layer_id); | 200 DCHECK_EQ(animation_player_->element_id(), element_id); |
198 | 201 |
199 animation_player_->set_animation_delegate(this); | 202 animation_player_->set_animation_delegate(this); |
200 } | 203 } |
201 | 204 |
202 void LayerAnimator::DetachLayerFromAnimationPlayer() { | 205 void LayerAnimator::DetachLayerFromAnimationPlayer() { |
203 animation_player_->set_animation_delegate(nullptr); | 206 animation_player_->set_animation_delegate(nullptr); |
204 | 207 |
205 if (animation_player_->element_id()) | 208 if (animation_player_->element_id()) |
206 animation_player_->DetachElement(); | 209 animation_player_->DetachElement(); |
207 } | 210 } |
(...skipping 756 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
964 const base::WeakPtr<LayerAnimationSequence>& sequence) | 967 const base::WeakPtr<LayerAnimationSequence>& sequence) |
965 : sequence_(sequence) { | 968 : sequence_(sequence) { |
966 } | 969 } |
967 | 970 |
968 LayerAnimator::RunningAnimation::RunningAnimation( | 971 LayerAnimator::RunningAnimation::RunningAnimation( |
969 const RunningAnimation& other) = default; | 972 const RunningAnimation& other) = default; |
970 | 973 |
971 LayerAnimator::RunningAnimation::~RunningAnimation() { } | 974 LayerAnimator::RunningAnimation::~RunningAnimation() { } |
972 | 975 |
973 } // namespace ui | 976 } // namespace ui |
OLD | NEW |