| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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/trees/property_tree_builder.h" | 5 #include "cc/trees/property_tree_builder.h" |
| 6 | 6 |
| 7 #include <stddef.h> | 7 #include <stddef.h> |
| 8 | 8 |
| 9 #include <map> | 9 #include <map> |
| 10 #include <set> | 10 #include <set> |
| (...skipping 712 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 723 // The backface of a layer that uses local transform for backface visibility | 723 // The backface of a layer that uses local transform for backface visibility |
| 724 // is not visible when it does not create a transform node as its local | 724 // is not visible when it does not create a transform node as its local |
| 725 // transform is identity or 2d translation and is not animating. | 725 // transform is identity or 2d translation and is not animating. |
| 726 else if (use_local_transform && !created_transform_node) | 726 else if (use_local_transform && !created_transform_node) |
| 727 layer->SetShouldCheckBackfaceVisibility(false); | 727 layer->SetShouldCheckBackfaceVisibility(false); |
| 728 else | 728 else |
| 729 layer->SetShouldCheckBackfaceVisibility(true); | 729 layer->SetShouldCheckBackfaceVisibility(true); |
| 730 } | 730 } |
| 731 } | 731 } |
| 732 | 732 |
| 733 static void SetLayerPropertyChangedForChild(Layer* parent, Layer* child) { |
| 734 if (parent->subtree_property_changed()) |
| 735 child->SetSubtreePropertyChanged(); |
| 736 } |
| 737 |
| 738 static void SetLayerPropertyChangedForChild(LayerImpl* parent, |
| 739 LayerImpl* child) {} |
| 740 |
| 733 template <typename LayerType> | 741 template <typename LayerType> |
| 734 void BuildPropertyTreesInternal( | 742 void BuildPropertyTreesInternal( |
| 735 LayerType* layer, | 743 LayerType* layer, |
| 736 const DataForRecursion<LayerType>& data_from_parent, | 744 const DataForRecursion<LayerType>& data_from_parent, |
| 737 DataForRecursionFromChild<LayerType>* data_to_parent) { | 745 DataForRecursionFromChild<LayerType>* data_to_parent) { |
| 738 layer->set_property_tree_sequence_number(data_from_parent.sequence_number); | 746 layer->set_property_tree_sequence_number(data_from_parent.sequence_number); |
| 739 if (layer->mask_layer()) | 747 if (layer->mask_layer()) |
| 740 layer->mask_layer()->set_property_tree_sequence_number( | 748 layer->mask_layer()->set_property_tree_sequence_number( |
| 741 data_from_parent.sequence_number); | 749 data_from_parent.sequence_number); |
| 742 | 750 |
| (...skipping 12 matching lines...) Expand all Loading... |
| 755 bool created_transform_node = AddTransformNodeIfNeeded( | 763 bool created_transform_node = AddTransformNodeIfNeeded( |
| 756 data_from_parent, layer, created_render_surface, &data_for_children); | 764 data_from_parent, layer, created_render_surface, &data_for_children); |
| 757 AddClipNodeIfNeeded(data_from_parent, layer, created_render_surface, | 765 AddClipNodeIfNeeded(data_from_parent, layer, created_render_surface, |
| 758 created_transform_node, &data_for_children); | 766 created_transform_node, &data_for_children); |
| 759 | 767 |
| 760 AddScrollNodeIfNeeded(data_from_parent, layer, &data_for_children); | 768 AddScrollNodeIfNeeded(data_from_parent, layer, &data_for_children); |
| 761 | 769 |
| 762 SetBackfaceVisibilityTransform(layer, created_transform_node); | 770 SetBackfaceVisibilityTransform(layer, created_transform_node); |
| 763 | 771 |
| 764 for (size_t i = 0; i < layer->children().size(); ++i) { | 772 for (size_t i = 0; i < layer->children().size(); ++i) { |
| 773 SetLayerPropertyChangedForChild(layer, layer->child_at(i)); |
| 765 if (!layer->child_at(i)->scroll_parent()) { | 774 if (!layer->child_at(i)->scroll_parent()) { |
| 766 DataForRecursionFromChild<LayerType> data_from_child; | 775 DataForRecursionFromChild<LayerType> data_from_child; |
| 767 BuildPropertyTreesInternal(layer->child_at(i), data_for_children, | 776 BuildPropertyTreesInternal(layer->child_at(i), data_for_children, |
| 768 &data_from_child); | 777 &data_from_child); |
| 769 data_to_parent->Merge(data_from_child); | 778 data_to_parent->Merge(data_from_child); |
| 770 } else { | 779 } else { |
| 771 // The child should be included in its scroll parent's list of scroll | 780 // The child should be included in its scroll parent's list of scroll |
| 772 // children. | 781 // children. |
| 773 DCHECK(layer->child_at(i)->scroll_parent()->scroll_children()->count( | 782 DCHECK(layer->child_at(i)->scroll_parent()->scroll_children()->count( |
| 774 layer->child_at(i))); | 783 layer->child_at(i))); |
| (...skipping 151 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 926 const gfx::Transform& device_transform, | 935 const gfx::Transform& device_transform, |
| 927 PropertyTrees* property_trees) { | 936 PropertyTrees* property_trees) { |
| 928 BuildPropertyTreesTopLevelInternal( | 937 BuildPropertyTreesTopLevelInternal( |
| 929 root_layer, page_scale_layer, inner_viewport_scroll_layer, | 938 root_layer, page_scale_layer, inner_viewport_scroll_layer, |
| 930 outer_viewport_scroll_layer, overscroll_elasticity_layer, | 939 outer_viewport_scroll_layer, overscroll_elasticity_layer, |
| 931 elastic_overscroll, page_scale_factor, device_scale_factor, viewport, | 940 elastic_overscroll, page_scale_factor, device_scale_factor, viewport, |
| 932 device_transform, property_trees); | 941 device_transform, property_trees); |
| 933 } | 942 } |
| 934 | 943 |
| 935 } // namespace cc | 944 } // namespace cc |
| OLD | NEW |