Chromium Code Reviews| 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 610 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 621 data_for_children->axis_align_since_render_target = true; | 621 data_for_children->axis_align_since_render_target = true; |
| 622 } | 622 } |
| 623 return should_create_render_surface; | 623 return should_create_render_surface; |
| 624 } | 624 } |
| 625 | 625 |
| 626 template <typename LayerType> | 626 template <typename LayerType> |
| 627 void BuildPropertyTreesInternal( | 627 void BuildPropertyTreesInternal( |
| 628 LayerType* layer, | 628 LayerType* layer, |
| 629 const DataForRecursion<LayerType>& data_from_parent) { | 629 const DataForRecursion<LayerType>& data_from_parent) { |
| 630 layer->set_property_tree_sequence_number(data_from_parent.sequence_number); | 630 layer->set_property_tree_sequence_number(data_from_parent.sequence_number); |
| 631 if (layer->mask_layer()) | |
| 632 layer->mask_layer()->set_property_tree_sequence_number( | |
| 633 data_from_parent.sequence_number); | |
| 634 | |
| 631 DataForRecursion<LayerType> data_for_children(data_from_parent); | 635 DataForRecursion<LayerType> data_for_children(data_from_parent); |
| 632 | 636 |
| 633 bool created_render_surface = | 637 bool created_render_surface = |
| 634 AddEffectNodeIfNeeded(data_from_parent, layer, &data_for_children); | 638 AddEffectNodeIfNeeded(data_from_parent, layer, &data_for_children); |
| 635 | 639 |
| 636 if (created_render_surface) { | 640 if (created_render_surface) { |
| 637 data_for_children.render_target = data_for_children.effect_tree_parent; | 641 data_for_children.render_target = data_for_children.effect_tree_parent; |
| 638 layer->set_draw_blend_mode(SkXfermode::kSrcOver_Mode); | 642 layer->set_draw_blend_mode(SkXfermode::kSrcOver_Mode); |
| 639 } else { | 643 } else { |
| 640 layer->set_draw_blend_mode(layer->blend_mode()); | 644 layer->set_draw_blend_mode(layer->blend_mode()); |
| 641 } | 645 } |
| 642 | 646 |
| 647 if (layer == data_from_parent.page_scale_layer) | |
| 648 data_for_children.in_subtree_of_page_scale_layer = true; | |
|
ajuma
2015/12/23 22:17:04
Nit: How about moving this inside AddTransformNode
| |
| 649 | |
| 643 bool created_transform_node = AddTransformNodeIfNeeded( | 650 bool created_transform_node = AddTransformNodeIfNeeded( |
| 644 data_from_parent, layer, created_render_surface, &data_for_children); | 651 data_from_parent, layer, created_render_surface, &data_for_children); |
| 645 AddClipNodeIfNeeded(data_from_parent, layer, created_render_surface, | 652 AddClipNodeIfNeeded(data_from_parent, layer, created_render_surface, |
| 646 created_transform_node, &data_for_children); | 653 created_transform_node, &data_for_children); |
| 647 | 654 |
| 648 if (layer == data_from_parent.page_scale_layer) | |
| 649 data_for_children.in_subtree_of_page_scale_layer = true; | |
| 650 | |
| 651 data_for_children.is_hidden = | 655 data_for_children.is_hidden = |
| 652 layer->hide_layer_and_subtree() || data_from_parent.is_hidden; | 656 layer->hide_layer_and_subtree() || data_from_parent.is_hidden; |
| 653 layer->set_is_hidden_from_property_trees(data_for_children.is_hidden); | 657 layer->set_is_hidden_from_property_trees(data_for_children.is_hidden); |
| 654 | 658 |
| 655 for (size_t i = 0; i < layer->children().size(); ++i) { | 659 for (size_t i = 0; i < layer->children().size(); ++i) { |
| 656 if (!layer->child_at(i)->scroll_parent()) { | 660 if (!layer->child_at(i)->scroll_parent()) { |
| 657 BuildPropertyTreesInternal(layer->child_at(i), data_for_children); | 661 BuildPropertyTreesInternal(layer->child_at(i), data_for_children); |
| 658 } else { | 662 } else { |
| 659 // The child should be included in its scroll parent's list of scroll | 663 // The child should be included in its scroll parent's list of scroll |
| 660 // children. | 664 // children. |
| (...skipping 124 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 785 const gfx::Transform& device_transform, | 789 const gfx::Transform& device_transform, |
| 786 PropertyTrees* property_trees) { | 790 PropertyTrees* property_trees) { |
| 787 BuildPropertyTreesTopLevelInternal( | 791 BuildPropertyTreesTopLevelInternal( |
| 788 root_layer, page_scale_layer, inner_viewport_scroll_layer, | 792 root_layer, page_scale_layer, inner_viewport_scroll_layer, |
| 789 outer_viewport_scroll_layer, overscroll_elasticity_layer, | 793 outer_viewport_scroll_layer, overscroll_elasticity_layer, |
| 790 elastic_overscroll, page_scale_factor, device_scale_factor, viewport, | 794 elastic_overscroll, page_scale_factor, device_scale_factor, viewport, |
| 791 device_transform, property_trees); | 795 device_transform, property_trees); |
| 792 } | 796 } |
| 793 | 797 |
| 794 } // namespace cc | 798 } // namespace cc |
| OLD | NEW |