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

Side by Side Diff: cc/test/animation_timelines_test_common.cc

Issue 1921583003: CC Animation: Let MutatorHostClient deals with elements instead of layers. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@elementid
Patch Set: Rename methods in ElementAnimations Created 4 years, 8 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
« no previous file with comments | « cc/test/animation_timelines_test_common.h ('k') | cc/trees/layer_tree_host.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 #include "cc/test/animation_timelines_test_common.h" 5 #include "cc/test/animation_timelines_test_common.h"
6 6
7 #include "base/memory/ptr_util.h" 7 #include "base/memory/ptr_util.h"
8 #include "cc/animation/animation_events.h" 8 #include "cc/animation/animation_events.h"
9 #include "cc/animation/animation_id_provider.h" 9 #include "cc/animation/animation_id_provider.h"
10 #include "cc/animation/animation_player.h" 10 #include "cc/animation/animation_player.h"
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after
67 host_->SetMutatorHostClient(nullptr); 67 host_->SetMutatorHostClient(nullptr);
68 } 68 }
69 69
70 void TestHostClient::ClearMutatedProperties() { 70 void TestHostClient::ClearMutatedProperties() {
71 for (auto& kv : layers_in_pending_tree_) 71 for (auto& kv : layers_in_pending_tree_)
72 kv.second->ClearMutatedProperties(); 72 kv.second->ClearMutatedProperties();
73 for (auto& kv : layers_in_active_tree_) 73 for (auto& kv : layers_in_active_tree_)
74 kv.second->ClearMutatedProperties(); 74 kv.second->ClearMutatedProperties();
75 } 75 }
76 76
77 bool TestHostClient::IsLayerInTree(int layer_id, 77 bool TestHostClient::IsElementInList(ElementId element_id,
78 LayerTreeType tree_type) const { 78 ElementListType list_type) const {
79 return tree_type == LayerTreeType::ACTIVE 79 return list_type == ElementListType::ACTIVE
80 ? layers_in_active_tree_.count(layer_id) 80 ? layers_in_active_tree_.count(element_id)
81 : layers_in_pending_tree_.count(layer_id); 81 : layers_in_pending_tree_.count(element_id);
82 } 82 }
83 83
84 void TestHostClient::SetMutatorsNeedCommit() { 84 void TestHostClient::SetMutatorsNeedCommit() {
85 mutators_need_commit_ = true; 85 mutators_need_commit_ = true;
86 } 86 }
87 87
88 void TestHostClient::SetMutatorsNeedRebuildPropertyTrees() {} 88 void TestHostClient::SetMutatorsNeedRebuildPropertyTrees() {}
89 89
90 void TestHostClient::SetLayerFilterMutated(int layer_id, 90 void TestHostClient::SetElementFilterMutated(ElementId element_id,
91 LayerTreeType tree_type, 91 ElementListType list_type,
92 const FilterOperations& filters) { 92 const FilterOperations& filters) {
93 TestLayer* layer = FindTestLayer(layer_id, tree_type); 93 TestLayer* layer = FindTestLayer(element_id, list_type);
94 if (layer) 94 if (layer)
95 layer->set_filters(filters); 95 layer->set_filters(filters);
96 } 96 }
97 97
98 void TestHostClient::SetLayerOpacityMutated(int layer_id, 98 void TestHostClient::SetElementOpacityMutated(ElementId element_id,
99 LayerTreeType tree_type, 99 ElementListType list_type,
100 float opacity) { 100 float opacity) {
101 TestLayer* layer = FindTestLayer(layer_id, tree_type); 101 TestLayer* layer = FindTestLayer(element_id, list_type);
102 if (layer) 102 if (layer)
103 layer->set_opacity(opacity); 103 layer->set_opacity(opacity);
104 } 104 }
105 105
106 void TestHostClient::SetLayerTransformMutated(int layer_id, 106 void TestHostClient::SetElementTransformMutated(
107 LayerTreeType tree_type, 107 ElementId element_id,
108 const gfx::Transform& transform) { 108 ElementListType list_type,
109 TestLayer* layer = FindTestLayer(layer_id, tree_type); 109 const gfx::Transform& transform) {
110 TestLayer* layer = FindTestLayer(element_id, list_type);
110 if (layer) 111 if (layer)
111 layer->set_transform(transform); 112 layer->set_transform(transform);
112 } 113 }
113 114
114 void TestHostClient::SetLayerScrollOffsetMutated( 115 void TestHostClient::SetElementScrollOffsetMutated(
115 int layer_id, 116 ElementId element_id,
116 LayerTreeType tree_type, 117 ElementListType list_type,
117 const gfx::ScrollOffset& scroll_offset) { 118 const gfx::ScrollOffset& scroll_offset) {
118 TestLayer* layer = FindTestLayer(layer_id, tree_type); 119 TestLayer* layer = FindTestLayer(element_id, list_type);
119 if (layer) 120 if (layer)
120 layer->set_scroll_offset(scroll_offset); 121 layer->set_scroll_offset(scroll_offset);
121 } 122 }
122 123
123 void TestHostClient::LayerTransformIsPotentiallyAnimatingChanged( 124 void TestHostClient::ElementTransformIsPotentiallyAnimatingChanged(
124 int layer_id, 125 ElementId element_id,
125 LayerTreeType tree_type, 126 ElementListType list_type,
126 bool is_animating) { 127 bool is_animating) {
127 TestLayer* layer = FindTestLayer(layer_id, tree_type); 128 TestLayer* layer = FindTestLayer(element_id, list_type);
128 if (layer) 129 if (layer)
129 layer->set_transform_is_animating(is_animating); 130 layer->set_transform_is_animating(is_animating);
130 } 131 }
131 132
132 void TestHostClient::SetScrollOffsetForAnimation( 133 void TestHostClient::SetScrollOffsetForAnimation(
133 const gfx::ScrollOffset& scroll_offset) { 134 const gfx::ScrollOffset& scroll_offset) {
134 scroll_offset_ = scroll_offset; 135 scroll_offset_ = scroll_offset;
135 } 136 }
136 137
137 gfx::ScrollOffset TestHostClient::GetScrollOffsetForAnimation( 138 gfx::ScrollOffset TestHostClient::GetScrollOffsetForAnimation(
138 int layer_id) const { 139 ElementId element_id) const {
139 return scroll_offset_; 140 return scroll_offset_;
140 } 141 }
141 142
142 void TestHostClient::RegisterLayer(int layer_id, LayerTreeType tree_type) { 143 void TestHostClient::RegisterElement(ElementId element_id,
143 LayerIdToTestLayer& layers_in_tree = tree_type == LayerTreeType::ACTIVE 144 ElementListType list_type) {
145 LayerIdToTestLayer& layers_in_tree = list_type == ElementListType::ACTIVE
144 ? layers_in_active_tree_ 146 ? layers_in_active_tree_
145 : layers_in_pending_tree_; 147 : layers_in_pending_tree_;
146 DCHECK(layers_in_tree.find(layer_id) == layers_in_tree.end()); 148 DCHECK(layers_in_tree.find(element_id) == layers_in_tree.end());
147 layers_in_tree[layer_id] = TestLayer::Create(); 149 layers_in_tree[element_id] = TestLayer::Create();
148 150
149 DCHECK(host_); 151 DCHECK(host_);
150 host_->RegisterLayer(layer_id, tree_type); 152 host_->RegisterElement(element_id, list_type);
151 } 153 }
152 154
153 void TestHostClient::UnregisterLayer(int layer_id, LayerTreeType tree_type) { 155 void TestHostClient::UnregisterElement(ElementId element_id,
156 ElementListType list_type) {
154 DCHECK(host_); 157 DCHECK(host_);
155 host_->UnregisterLayer(layer_id, tree_type); 158 host_->UnregisterElement(element_id, list_type);
156 159
157 LayerIdToTestLayer& layers_in_tree = tree_type == LayerTreeType::ACTIVE 160 LayerIdToTestLayer& layers_in_tree = list_type == ElementListType::ACTIVE
158 ? layers_in_active_tree_ 161 ? layers_in_active_tree_
159 : layers_in_pending_tree_; 162 : layers_in_pending_tree_;
160 auto kv = layers_in_tree.find(layer_id); 163 auto kv = layers_in_tree.find(element_id);
161 DCHECK(kv != layers_in_tree.end()); 164 DCHECK(kv != layers_in_tree.end());
162 layers_in_tree.erase(kv); 165 layers_in_tree.erase(kv);
163 } 166 }
164 167
165 bool TestHostClient::IsPropertyMutated(int layer_id, 168 bool TestHostClient::IsPropertyMutated(ElementId element_id,
166 LayerTreeType tree_type, 169 ElementListType list_type,
167 TargetProperty::Type property) const { 170 TargetProperty::Type property) const {
168 TestLayer* layer = FindTestLayer(layer_id, tree_type); 171 TestLayer* layer = FindTestLayer(element_id, list_type);
169 EXPECT_TRUE(layer); 172 EXPECT_TRUE(layer);
170 return layer->is_property_mutated(property); 173 return layer->is_property_mutated(property);
171 } 174 }
172 175
173 FilterOperations TestHostClient::GetFilters(int layer_id, 176 FilterOperations TestHostClient::GetFilters(ElementId element_id,
174 LayerTreeType tree_type) const { 177 ElementListType list_type) const {
175 TestLayer* layer = FindTestLayer(layer_id, tree_type); 178 TestLayer* layer = FindTestLayer(element_id, list_type);
176 EXPECT_TRUE(layer); 179 EXPECT_TRUE(layer);
177 return layer->filters(); 180 return layer->filters();
178 } 181 }
179 182
180 float TestHostClient::GetOpacity(int layer_id, LayerTreeType tree_type) const { 183 float TestHostClient::GetOpacity(ElementId element_id,
181 TestLayer* layer = FindTestLayer(layer_id, tree_type); 184 ElementListType list_type) const {
185 TestLayer* layer = FindTestLayer(element_id, list_type);
182 EXPECT_TRUE(layer); 186 EXPECT_TRUE(layer);
183 return layer->opacity(); 187 return layer->opacity();
184 } 188 }
185 189
186 gfx::Transform TestHostClient::GetTransform(int layer_id, 190 gfx::Transform TestHostClient::GetTransform(ElementId element_id,
187 LayerTreeType tree_type) const { 191 ElementListType list_type) const {
188 TestLayer* layer = FindTestLayer(layer_id, tree_type); 192 TestLayer* layer = FindTestLayer(element_id, list_type);
189 EXPECT_TRUE(layer); 193 EXPECT_TRUE(layer);
190 return layer->transform(); 194 return layer->transform();
191 } 195 }
192 196
193 gfx::ScrollOffset TestHostClient::GetScrollOffset( 197 gfx::ScrollOffset TestHostClient::GetScrollOffset(
194 int layer_id, 198 ElementId element_id,
195 LayerTreeType tree_type) const { 199 ElementListType list_type) const {
196 TestLayer* layer = FindTestLayer(layer_id, tree_type); 200 TestLayer* layer = FindTestLayer(element_id, list_type);
197 EXPECT_TRUE(layer); 201 EXPECT_TRUE(layer);
198 return layer->scroll_offset(); 202 return layer->scroll_offset();
199 } 203 }
200 204
201 bool TestHostClient::GetTransformIsAnimating(int layer_id, 205 bool TestHostClient::GetTransformIsAnimating(ElementId element_id,
202 LayerTreeType tree_type) const { 206 ElementListType list_type) const {
203 TestLayer* layer = FindTestLayer(layer_id, tree_type); 207 TestLayer* layer = FindTestLayer(element_id, list_type);
204 EXPECT_TRUE(layer); 208 EXPECT_TRUE(layer);
205 return layer->transform_is_animating(); 209 return layer->transform_is_animating();
206 } 210 }
207 211
208 void TestHostClient::ExpectFilterPropertyMutated(int layer_id, 212 void TestHostClient::ExpectFilterPropertyMutated(ElementId element_id,
209 LayerTreeType tree_type, 213 ElementListType list_type,
210 float brightness) const { 214 float brightness) const {
211 TestLayer* layer = FindTestLayer(layer_id, tree_type); 215 TestLayer* layer = FindTestLayer(element_id, list_type);
212 EXPECT_TRUE(layer); 216 EXPECT_TRUE(layer);
213 EXPECT_TRUE(layer->is_property_mutated(TargetProperty::FILTER)); 217 EXPECT_TRUE(layer->is_property_mutated(TargetProperty::FILTER));
214 EXPECT_EQ(brightness, layer->brightness()); 218 EXPECT_EQ(brightness, layer->brightness());
215 } 219 }
216 220
217 void TestHostClient::ExpectOpacityPropertyMutated(int layer_id, 221 void TestHostClient::ExpectOpacityPropertyMutated(ElementId element_id,
218 LayerTreeType tree_type, 222 ElementListType list_type,
219 float opacity) const { 223 float opacity) const {
220 TestLayer* layer = FindTestLayer(layer_id, tree_type); 224 TestLayer* layer = FindTestLayer(element_id, list_type);
221 EXPECT_TRUE(layer); 225 EXPECT_TRUE(layer);
222 EXPECT_TRUE(layer->is_property_mutated(TargetProperty::OPACITY)); 226 EXPECT_TRUE(layer->is_property_mutated(TargetProperty::OPACITY));
223 EXPECT_EQ(opacity, layer->opacity()); 227 EXPECT_EQ(opacity, layer->opacity());
224 } 228 }
225 229
226 void TestHostClient::ExpectTransformPropertyMutated(int layer_id, 230 void TestHostClient::ExpectTransformPropertyMutated(ElementId element_id,
227 LayerTreeType tree_type, 231 ElementListType list_type,
228 int transform_x, 232 int transform_x,
229 int transform_y) const { 233 int transform_y) const {
230 TestLayer* layer = FindTestLayer(layer_id, tree_type); 234 TestLayer* layer = FindTestLayer(element_id, list_type);
231 EXPECT_TRUE(layer); 235 EXPECT_TRUE(layer);
232 EXPECT_TRUE(layer->is_property_mutated(TargetProperty::TRANSFORM)); 236 EXPECT_TRUE(layer->is_property_mutated(TargetProperty::TRANSFORM));
233 EXPECT_EQ(transform_x, layer->transform_x()); 237 EXPECT_EQ(transform_x, layer->transform_x());
234 EXPECT_EQ(transform_y, layer->transform_y()); 238 EXPECT_EQ(transform_y, layer->transform_y());
235 } 239 }
236 240
237 TestLayer* TestHostClient::FindTestLayer(int layer_id, 241 TestLayer* TestHostClient::FindTestLayer(ElementId element_id,
238 LayerTreeType tree_type) const { 242 ElementListType list_type) const {
239 const LayerIdToTestLayer& layers_in_tree = tree_type == LayerTreeType::ACTIVE 243 const LayerIdToTestLayer& layers_in_tree =
240 ? layers_in_active_tree_ 244 list_type == ElementListType::ACTIVE ? layers_in_active_tree_
241 : layers_in_pending_tree_; 245 : layers_in_pending_tree_;
242 auto kv = layers_in_tree.find(layer_id); 246 auto kv = layers_in_tree.find(element_id);
243 if (kv == layers_in_tree.end()) 247 if (kv == layers_in_tree.end())
244 return nullptr; 248 return nullptr;
245 249
246 DCHECK(kv->second); 250 DCHECK(kv->second);
247 return kv->second.get(); 251 return kv->second.get();
248 } 252 }
249 253
250 TestAnimationDelegate::TestAnimationDelegate() 254 TestAnimationDelegate::TestAnimationDelegate()
251 : started_(false), 255 : started_(false),
252 finished_(false), 256 finished_(false),
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after
310 host_impl_->ClearTimelines(); 314 host_impl_->ClearTimelines();
311 host_->ClearTimelines(); 315 host_->ClearTimelines();
312 } 316 }
313 317
314 void AnimationTimelinesTest::CreateTestLayer( 318 void AnimationTimelinesTest::CreateTestLayer(
315 bool needs_active_value_observations, 319 bool needs_active_value_observations,
316 bool needs_pending_value_observations) { 320 bool needs_pending_value_observations) {
317 CreateTestMainLayer(); 321 CreateTestMainLayer();
318 322
319 if (needs_pending_value_observations) 323 if (needs_pending_value_observations)
320 CreateTestImplLayer(LayerTreeType::PENDING); 324 CreateTestImplLayer(ElementListType::PENDING);
321 if (needs_active_value_observations) 325 if (needs_active_value_observations)
322 CreateTestImplLayer(LayerTreeType::ACTIVE); 326 CreateTestImplLayer(ElementListType::ACTIVE);
323 } 327 }
324 328
325 void AnimationTimelinesTest::CreateTestMainLayer() { 329 void AnimationTimelinesTest::CreateTestMainLayer() {
326 client_.RegisterLayer(element_id_, LayerTreeType::ACTIVE); 330 client_.RegisterElement(element_id_, ElementListType::ACTIVE);
327 } 331 }
328 332
329 void AnimationTimelinesTest::CreateTestImplLayer( 333 void AnimationTimelinesTest::CreateTestImplLayer(
330 LayerTreeType layer_tree_type) { 334 ElementListType layer_tree_type) {
331 client_impl_.RegisterLayer(element_id_, layer_tree_type); 335 client_impl_.RegisterElement(element_id_, layer_tree_type);
332 } 336 }
333 337
334 void AnimationTimelinesTest::AttachTimelinePlayerLayer() { 338 void AnimationTimelinesTest::AttachTimelinePlayerLayer() {
335 host_->AddAnimationTimeline(timeline_); 339 host_->AddAnimationTimeline(timeline_);
336 timeline_->AttachPlayer(player_); 340 timeline_->AttachPlayer(player_);
337 player_->AttachLayer(element_id_); 341 player_->AttachLayer(element_id_);
338 } 342 }
339 343
340 void AnimationTimelinesTest::CreateImplTimelineAndPlayer() { 344 void AnimationTimelinesTest::CreateImplTimelineAndPlayer() {
341 host_->PushPropertiesTo(host_impl_); 345 host_->PushPropertiesTo(host_impl_);
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
377 381
378 host_impl_->AnimateLayers(time); 382 host_impl_->AnimateLayers(time);
379 host_impl_->UpdateAnimationState(true, events.get()); 383 host_impl_->UpdateAnimationState(true, events.get());
380 EXPECT_EQ(expect_events, events->events_.size()); 384 EXPECT_EQ(expect_events, events->events_.size());
381 385
382 host_->AnimateLayers(time); 386 host_->AnimateLayers(time);
383 host_->UpdateAnimationState(true, nullptr); 387 host_->UpdateAnimationState(true, nullptr);
384 host_->SetAnimationEvents(std::move(events)); 388 host_->SetAnimationEvents(std::move(events));
385 } 389 }
386 390
387 AnimationPlayer* AnimationTimelinesTest::GetPlayerForLayerId(int layer_id) { 391 AnimationPlayer* AnimationTimelinesTest::GetPlayerForLayerId(
392 ElementId element_id) {
388 const scoped_refptr<ElementAnimations> element_animations = 393 const scoped_refptr<ElementAnimations> element_animations =
389 host_->GetElementAnimationsForLayerId(layer_id); 394 host_->GetElementAnimationsForElementId(element_id);
390 return element_animations ? element_animations->players_list().head()->value() 395 return element_animations ? element_animations->players_list().head()->value()
391 : nullptr; 396 : nullptr;
392 } 397 }
393 398
394 AnimationPlayer* AnimationTimelinesTest::GetImplPlayerForLayerId(int layer_id) { 399 AnimationPlayer* AnimationTimelinesTest::GetImplPlayerForLayerId(
400 ElementId element_id) {
395 const scoped_refptr<ElementAnimations> element_animations = 401 const scoped_refptr<ElementAnimations> element_animations =
396 host_impl_->GetElementAnimationsForLayerId(layer_id); 402 host_impl_->GetElementAnimationsForElementId(element_id);
397 return element_animations ? element_animations->players_list().head()->value() 403 return element_animations ? element_animations->players_list().head()->value()
398 : nullptr; 404 : nullptr;
399 } 405 }
400 406
401 int AnimationTimelinesTest::NextTestLayerId() { 407 int AnimationTimelinesTest::NextTestLayerId() {
402 next_test_layer_id_++; 408 next_test_layer_id_++;
403 return next_test_layer_id_; 409 return next_test_layer_id_;
404 } 410 }
405 411
406 } // namespace cc 412 } // namespace cc
OLDNEW
« no previous file with comments | « cc/test/animation_timelines_test_common.h ('k') | cc/trees/layer_tree_host.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698