OLD | NEW |
1 // Copyright 2011 The Chromium Authors. All rights reserved. | 1 // Copyright 2011 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/layers/layer_impl.h" | 5 #include "cc/layers/layer_impl.h" |
6 | 6 |
7 #include "cc/animation/mutable_properties.h" | 7 #include "cc/animation/mutable_properties.h" |
8 #include "cc/layers/painted_scrollbar_layer_impl.h" | 8 #include "cc/layers/painted_scrollbar_layer_impl.h" |
9 #include "cc/layers/solid_color_scrollbar_layer_impl.h" | 9 #include "cc/layers/solid_color_scrollbar_layer_impl.h" |
10 #include "cc/output/filter_operation.h" | 10 #include "cc/output/filter_operation.h" |
(...skipping 123 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
134 LayerImpl::Create(host_impl.active_tree(), 2); | 134 LayerImpl::Create(host_impl.active_tree(), 2); |
135 LayerImpl* root = root_ptr.get(); | 135 LayerImpl* root = root_ptr.get(); |
136 root_clip_ptr->AddChild(std::move(root_ptr)); | 136 root_clip_ptr->AddChild(std::move(root_ptr)); |
137 host_impl.active_tree()->SetRootLayer(std::move(root_clip_ptr)); | 137 host_impl.active_tree()->SetRootLayer(std::move(root_clip_ptr)); |
138 std::unique_ptr<LayerImpl> scroll_parent = | 138 std::unique_ptr<LayerImpl> scroll_parent = |
139 LayerImpl::Create(host_impl.active_tree(), 3); | 139 LayerImpl::Create(host_impl.active_tree(), 3); |
140 LayerImpl* scroll_child = LayerImpl::Create(host_impl.active_tree(), 4).get(); | 140 LayerImpl* scroll_child = LayerImpl::Create(host_impl.active_tree(), 4).get(); |
141 std::set<LayerImpl*>* scroll_children = new std::set<LayerImpl*>(); | 141 std::set<LayerImpl*>* scroll_children = new std::set<LayerImpl*>(); |
142 scroll_children->insert(scroll_child); | 142 scroll_children->insert(scroll_child); |
143 scroll_children->insert(root); | 143 scroll_children->insert(root); |
144 root->SetForceRenderSurface(true); | 144 root->test_properties()->force_render_surface = true; |
145 | 145 |
146 std::unique_ptr<LayerImpl> clip_parent = | 146 std::unique_ptr<LayerImpl> clip_parent = |
147 LayerImpl::Create(host_impl.active_tree(), 5); | 147 LayerImpl::Create(host_impl.active_tree(), 5); |
148 LayerImpl* clip_child = LayerImpl::Create(host_impl.active_tree(), 6).get(); | 148 LayerImpl* clip_child = LayerImpl::Create(host_impl.active_tree(), 6).get(); |
149 std::set<LayerImpl*>* clip_children = new std::set<LayerImpl*>(); | 149 std::set<LayerImpl*>* clip_children = new std::set<LayerImpl*>(); |
150 clip_children->insert(clip_child); | 150 clip_children->insert(clip_child); |
151 clip_children->insert(root); | 151 clip_children->insert(root); |
152 root->layer_tree_impl()->ResetAllChangeTracking( | 152 root->layer_tree_impl()->ResetAllChangeTracking( |
153 PropertyTrees::ResetFlags::ALL_TREES); | 153 PropertyTrees::ResetFlags::ALL_TREES); |
154 | 154 |
(...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
245 // After setting all these properties already, setting to the exact same | 245 // After setting all these properties already, setting to the exact same |
246 // values again should not cause any change. | 246 // values again should not cause any change. |
247 EXECUTE_AND_VERIFY_SUBTREE_DID_NOT_CHANGE(root->SetMasksToBounds(true)); | 247 EXECUTE_AND_VERIFY_SUBTREE_DID_NOT_CHANGE(root->SetMasksToBounds(true)); |
248 EXECUTE_AND_VERIFY_SUBTREE_DID_NOT_CHANGE( | 248 EXECUTE_AND_VERIFY_SUBTREE_DID_NOT_CHANGE( |
249 root->SetPosition(arbitrary_point_f)); | 249 root->SetPosition(arbitrary_point_f)); |
250 EXECUTE_AND_VERIFY_SUBTREE_DID_NOT_CHANGE( | 250 EXECUTE_AND_VERIFY_SUBTREE_DID_NOT_CHANGE( |
251 root->SetShouldFlattenTransform(false)); | 251 root->SetShouldFlattenTransform(false)); |
252 EXECUTE_AND_VERIFY_SUBTREE_DID_NOT_CHANGE(root->Set3dSortingContextId(1)); | 252 EXECUTE_AND_VERIFY_SUBTREE_DID_NOT_CHANGE(root->Set3dSortingContextId(1)); |
253 EXECUTE_AND_VERIFY_SUBTREE_DID_NOT_CHANGE( | 253 EXECUTE_AND_VERIFY_SUBTREE_DID_NOT_CHANGE( |
254 root->SetTransform(arbitrary_transform)); | 254 root->SetTransform(arbitrary_transform)); |
255 EXECUTE_AND_VERIFY_SUBTREE_DID_NOT_CHANGE( | |
256 root->SetDoubleSided(false)); // constructor initializes it to "true". | |
257 EXECUTE_AND_VERIFY_SUBTREE_DID_NOT_CHANGE(root->SetContentsOpaque(true)); | 255 EXECUTE_AND_VERIFY_SUBTREE_DID_NOT_CHANGE(root->SetContentsOpaque(true)); |
258 EXECUTE_AND_VERIFY_SUBTREE_DID_NOT_CHANGE(root->SetOpacity(arbitrary_number)); | 256 EXECUTE_AND_VERIFY_SUBTREE_DID_NOT_CHANGE(root->SetOpacity(arbitrary_number)); |
259 EXECUTE_AND_VERIFY_SUBTREE_DID_NOT_CHANGE( | 257 EXECUTE_AND_VERIFY_SUBTREE_DID_NOT_CHANGE( |
260 root->SetBlendMode(arbitrary_blend_mode)); | 258 root->SetBlendMode(arbitrary_blend_mode)); |
261 EXECUTE_AND_VERIFY_SUBTREE_DID_NOT_CHANGE( | 259 EXECUTE_AND_VERIFY_SUBTREE_DID_NOT_CHANGE( |
262 root->SetIsRootForIsolatedGroup(true)); | 260 root->SetIsRootForIsolatedGroup(true)); |
263 EXECUTE_AND_VERIFY_SUBTREE_DID_NOT_CHANGE(root->SetDrawsContent(true)); | 261 EXECUTE_AND_VERIFY_SUBTREE_DID_NOT_CHANGE(root->SetDrawsContent(true)); |
264 EXECUTE_AND_VERIFY_SUBTREE_DID_NOT_CHANGE(root->SetBounds(bounds_size)); | 262 EXECUTE_AND_VERIFY_SUBTREE_DID_NOT_CHANGE(root->SetBounds(bounds_size)); |
265 EXECUTE_AND_VERIFY_SUBTREE_DID_NOT_CHANGE( | 263 EXECUTE_AND_VERIFY_SUBTREE_DID_NOT_CHANGE( |
266 root->SetScrollParent(scroll_parent.get())); | 264 root->SetScrollParent(scroll_parent.get())); |
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
318 VERIFY_NEEDS_UPDATE_DRAW_PROPERTIES(layer->SetDrawsContent(true)); | 316 VERIFY_NEEDS_UPDATE_DRAW_PROPERTIES(layer->SetDrawsContent(true)); |
319 VERIFY_NEEDS_UPDATE_DRAW_PROPERTIES(layer2->SetDrawsContent(true)); | 317 VERIFY_NEEDS_UPDATE_DRAW_PROPERTIES(layer2->SetDrawsContent(true)); |
320 // Render surface functions should not trigger update draw properties, because | 318 // Render surface functions should not trigger update draw properties, because |
321 // creating render surface is part of update draw properties. | 319 // creating render surface is part of update draw properties. |
322 VERIFY_NO_NEEDS_UPDATE_DRAW_PROPERTIES(layer->SetHasRenderSurface(true)); | 320 VERIFY_NO_NEEDS_UPDATE_DRAW_PROPERTIES(layer->SetHasRenderSurface(true)); |
323 VERIFY_NO_NEEDS_UPDATE_DRAW_PROPERTIES(layer->SetHasRenderSurface(false)); | 321 VERIFY_NO_NEEDS_UPDATE_DRAW_PROPERTIES(layer->SetHasRenderSurface(false)); |
324 // Create a render surface, because we must have a render surface if we have | 322 // Create a render surface, because we must have a render surface if we have |
325 // filters. | 323 // filters. |
326 VERIFY_NO_NEEDS_UPDATE_DRAW_PROPERTIES(layer->SetHasRenderSurface(true)); | 324 VERIFY_NO_NEEDS_UPDATE_DRAW_PROPERTIES(layer->SetHasRenderSurface(true)); |
327 | 325 |
328 VERIFY_NEEDS_UPDATE_DRAW_PROPERTIES(layer->SetForceRenderSurface(true)); | |
329 VERIFY_NO_NEEDS_UPDATE_DRAW_PROPERTIES(layer->SetForceRenderSurface(true)); | |
330 VERIFY_NEEDS_UPDATE_DRAW_PROPERTIES(layer->SetForceRenderSurface(false)); | |
331 VERIFY_NO_NEEDS_UPDATE_DRAW_PROPERTIES(layer->SetForceRenderSurface(false)); | |
332 | |
333 // Related filter functions. | 326 // Related filter functions. |
334 VERIFY_NEEDS_UPDATE_DRAW_PROPERTIES( | 327 VERIFY_NEEDS_UPDATE_DRAW_PROPERTIES( |
335 root->OnFilterAnimated(arbitrary_filters)); | 328 root->OnFilterAnimated(arbitrary_filters)); |
336 VERIFY_NO_NEEDS_UPDATE_DRAW_PROPERTIES( | 329 VERIFY_NO_NEEDS_UPDATE_DRAW_PROPERTIES( |
337 root->OnFilterAnimated(arbitrary_filters)); | 330 root->OnFilterAnimated(arbitrary_filters)); |
338 VERIFY_NEEDS_UPDATE_DRAW_PROPERTIES( | 331 VERIFY_NEEDS_UPDATE_DRAW_PROPERTIES( |
339 root->OnFilterAnimated(FilterOperations())); | 332 root->OnFilterAnimated(FilterOperations())); |
340 VERIFY_NEEDS_UPDATE_DRAW_PROPERTIES( | 333 VERIFY_NEEDS_UPDATE_DRAW_PROPERTIES( |
341 root->OnFilterAnimated(arbitrary_filters)); | 334 root->OnFilterAnimated(arbitrary_filters)); |
342 | 335 |
(...skipping 26 matching lines...) Expand all Loading... |
369 VERIFY_NEEDS_UPDATE_DRAW_PROPERTIES( | 362 VERIFY_NEEDS_UPDATE_DRAW_PROPERTIES( |
370 layer->SetReplicaLayer(LayerImpl::Create(host_impl.active_tree(), 5)); | 363 layer->SetReplicaLayer(LayerImpl::Create(host_impl.active_tree(), 5)); |
371 layer->NoteLayerPropertyChanged()); | 364 layer->NoteLayerPropertyChanged()); |
372 VERIFY_NEEDS_UPDATE_DRAW_PROPERTIES(layer2->SetPosition(arbitrary_point_f); | 365 VERIFY_NEEDS_UPDATE_DRAW_PROPERTIES(layer2->SetPosition(arbitrary_point_f); |
373 layer->NoteLayerPropertyChanged()); | 366 layer->NoteLayerPropertyChanged()); |
374 VERIFY_NEEDS_UPDATE_DRAW_PROPERTIES(layer->SetShouldFlattenTransform(false); | 367 VERIFY_NEEDS_UPDATE_DRAW_PROPERTIES(layer->SetShouldFlattenTransform(false); |
375 layer->NoteLayerPropertyChanged()); | 368 layer->NoteLayerPropertyChanged()); |
376 VERIFY_NEEDS_UPDATE_DRAW_PROPERTIES(layer->Set3dSortingContextId(1); | 369 VERIFY_NEEDS_UPDATE_DRAW_PROPERTIES(layer->Set3dSortingContextId(1); |
377 layer->NoteLayerPropertyChanged()); | 370 layer->NoteLayerPropertyChanged()); |
378 VERIFY_NEEDS_UPDATE_DRAW_PROPERTIES( | 371 VERIFY_NEEDS_UPDATE_DRAW_PROPERTIES( |
379 layer->SetDoubleSided(false); // constructor initializes it to "true". | |
380 layer->NoteLayerPropertyChanged()); | |
381 VERIFY_NEEDS_UPDATE_DRAW_PROPERTIES( | |
382 layer->SetBackgroundColor(arbitrary_color)); | 372 layer->SetBackgroundColor(arbitrary_color)); |
383 VERIFY_NEEDS_UPDATE_DRAW_PROPERTIES( | 373 VERIFY_NEEDS_UPDATE_DRAW_PROPERTIES( |
384 layer->SetBackgroundFilters(arbitrary_filters)); | 374 layer->SetBackgroundFilters(arbitrary_filters)); |
385 VERIFY_NEEDS_UPDATE_DRAW_PROPERTIES( | 375 VERIFY_NEEDS_UPDATE_DRAW_PROPERTIES( |
386 layer->OnOpacityAnimated(arbitrary_number)); | 376 layer->OnOpacityAnimated(arbitrary_number)); |
387 VERIFY_NEEDS_UPDATE_DRAW_PROPERTIES(layer->SetBlendMode(arbitrary_blend_mode); | 377 VERIFY_NEEDS_UPDATE_DRAW_PROPERTIES(layer->SetBlendMode(arbitrary_blend_mode); |
388 layer->NoteLayerPropertyChanged()); | 378 layer->NoteLayerPropertyChanged()); |
389 VERIFY_NEEDS_UPDATE_DRAW_PROPERTIES( | 379 VERIFY_NEEDS_UPDATE_DRAW_PROPERTIES( |
390 layer->OnTransformAnimated(arbitrary_transform)); | 380 layer->OnTransformAnimated(arbitrary_transform)); |
391 VERIFY_NEEDS_UPDATE_DRAW_PROPERTIES(layer->SetBounds(arbitrary_size); | 381 VERIFY_NEEDS_UPDATE_DRAW_PROPERTIES(layer->SetBounds(arbitrary_size); |
392 layer->NoteLayerPropertyChanged()); | 382 layer->NoteLayerPropertyChanged()); |
393 | 383 |
394 // Unrelated functions, set to the same values, no needs update. | 384 // Unrelated functions, set to the same values, no needs update. |
395 VERIFY_NO_NEEDS_UPDATE_DRAW_PROPERTIES( | 385 VERIFY_NO_NEEDS_UPDATE_DRAW_PROPERTIES( |
396 layer->SetIsRootForIsolatedGroup(true)); | 386 layer->SetIsRootForIsolatedGroup(true)); |
397 VERIFY_NO_NEEDS_UPDATE_DRAW_PROPERTIES(layer->SetFilters(arbitrary_filters)); | 387 VERIFY_NO_NEEDS_UPDATE_DRAW_PROPERTIES(layer->SetFilters(arbitrary_filters)); |
398 VERIFY_NO_NEEDS_UPDATE_DRAW_PROPERTIES(layer->SetMasksToBounds(true)); | 388 VERIFY_NO_NEEDS_UPDATE_DRAW_PROPERTIES(layer->SetMasksToBounds(true)); |
399 VERIFY_NO_NEEDS_UPDATE_DRAW_PROPERTIES(layer->SetContentsOpaque(true)); | 389 VERIFY_NO_NEEDS_UPDATE_DRAW_PROPERTIES(layer->SetContentsOpaque(true)); |
400 VERIFY_NO_NEEDS_UPDATE_DRAW_PROPERTIES( | 390 VERIFY_NO_NEEDS_UPDATE_DRAW_PROPERTIES( |
401 layer2->SetPosition(arbitrary_point_f)); | 391 layer2->SetPosition(arbitrary_point_f)); |
402 VERIFY_NO_NEEDS_UPDATE_DRAW_PROPERTIES(layer->Set3dSortingContextId(1)); | 392 VERIFY_NO_NEEDS_UPDATE_DRAW_PROPERTIES(layer->Set3dSortingContextId(1)); |
403 VERIFY_NO_NEEDS_UPDATE_DRAW_PROPERTIES( | |
404 layer->SetDoubleSided(false)); // constructor initializes it to "true". | |
405 VERIFY_NO_NEEDS_UPDATE_DRAW_PROPERTIES(layer->SetDrawsContent(true)); | 393 VERIFY_NO_NEEDS_UPDATE_DRAW_PROPERTIES(layer->SetDrawsContent(true)); |
406 VERIFY_NO_NEEDS_UPDATE_DRAW_PROPERTIES( | 394 VERIFY_NO_NEEDS_UPDATE_DRAW_PROPERTIES( |
407 layer->SetBackgroundColor(arbitrary_color)); | 395 layer->SetBackgroundColor(arbitrary_color)); |
408 VERIFY_NO_NEEDS_UPDATE_DRAW_PROPERTIES( | 396 VERIFY_NO_NEEDS_UPDATE_DRAW_PROPERTIES( |
409 layer->SetBackgroundFilters(arbitrary_filters)); | 397 layer->SetBackgroundFilters(arbitrary_filters)); |
410 VERIFY_NO_NEEDS_UPDATE_DRAW_PROPERTIES(layer->SetOpacity(arbitrary_number)); | 398 VERIFY_NO_NEEDS_UPDATE_DRAW_PROPERTIES(layer->SetOpacity(arbitrary_number)); |
411 VERIFY_NO_NEEDS_UPDATE_DRAW_PROPERTIES( | 399 VERIFY_NO_NEEDS_UPDATE_DRAW_PROPERTIES( |
412 layer->SetBlendMode(arbitrary_blend_mode)); | 400 layer->SetBlendMode(arbitrary_blend_mode)); |
413 VERIFY_NO_NEEDS_UPDATE_DRAW_PROPERTIES( | 401 VERIFY_NO_NEEDS_UPDATE_DRAW_PROPERTIES( |
414 layer->SetIsRootForIsolatedGroup(true)); | 402 layer->SetIsRootForIsolatedGroup(true)); |
(...skipping 250 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
665 | 653 |
666 pending_layer->PushPropertiesTo(layer()); | 654 pending_layer->PushPropertiesTo(layer()); |
667 | 655 |
668 EXPECT_VECTOR_EQ(gfx::Vector2dF(22, 23), layer()->CurrentScrollOffset()); | 656 EXPECT_VECTOR_EQ(gfx::Vector2dF(22, 23), layer()->CurrentScrollOffset()); |
669 EXPECT_VECTOR_EQ(layer()->CurrentScrollOffset(), | 657 EXPECT_VECTOR_EQ(layer()->CurrentScrollOffset(), |
670 pending_layer->CurrentScrollOffset()); | 658 pending_layer->CurrentScrollOffset()); |
671 } | 659 } |
672 | 660 |
673 } // namespace | 661 } // namespace |
674 } // namespace cc | 662 } // namespace cc |
OLD | NEW |