| 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 604 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 615 | 615 |
| 616 data_for_children->property_trees->transform_tree.Insert(TransformNode(), | 616 data_for_children->property_trees->transform_tree.Insert(TransformNode(), |
| 617 parent_index); | 617 parent_index); |
| 618 | 618 |
| 619 TransformNode* node = | 619 TransformNode* node = |
| 620 data_for_children->property_trees->transform_tree.back(); | 620 data_for_children->property_trees->transform_tree.back(); |
| 621 layer->SetTransformTreeIndex(node->id); | 621 layer->SetTransformTreeIndex(node->id); |
| 622 data_for_children->property_trees->transform_id_to_index_map[layer->id()] = | 622 data_for_children->property_trees->transform_id_to_index_map[layer->id()] = |
| 623 node->id; | 623 node->id; |
| 624 | 624 |
| 625 // For animation subsystem purposes, if this layer has a compositor element |
| 626 // id, we build a map from that id to this transform node. |
| 627 if (layer->element_id()) { |
| 628 data_for_children->property_trees |
| 629 ->element_id_to_transform_node_index[layer->element_id()] = node->id; |
| 630 } |
| 631 |
| 625 node->scrolls = is_scrollable; | 632 node->scrolls = is_scrollable; |
| 626 node->should_be_snapped = is_snapped; | 633 node->should_be_snapped = is_snapped; |
| 627 node->flattens_inherited_transform = data_for_children->should_flatten; | 634 node->flattens_inherited_transform = data_for_children->should_flatten; |
| 628 | 635 |
| 629 node->sorting_context_id = SortingContextId(layer); | 636 node->sorting_context_id = SortingContextId(layer); |
| 630 | 637 |
| 631 if (layer == data_from_ancestor.page_scale_layer) | 638 if (layer == data_from_ancestor.page_scale_layer) |
| 632 data_for_children->in_subtree_of_page_scale_layer = true; | 639 data_for_children->in_subtree_of_page_scale_layer = true; |
| 633 node->in_subtree_of_page_scale_layer = | 640 node->in_subtree_of_page_scale_layer = |
| 634 data_for_children->in_subtree_of_page_scale_layer; | 641 data_for_children->in_subtree_of_page_scale_layer; |
| (...skipping 453 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1088 // to root render surface's content, but not root render surface itself. | 1095 // to root render surface's content, but not root render surface itself. |
| 1089 node.transform_id = kRootPropertyTreeNodeId; | 1096 node.transform_id = kRootPropertyTreeNodeId; |
| 1090 node.clip_id = kViewportClipTreeNodeId; | 1097 node.clip_id = kViewportClipTreeNodeId; |
| 1091 } | 1098 } |
| 1092 data_for_children->effect_tree_parent = effect_tree.Insert(node, parent_id); | 1099 data_for_children->effect_tree_parent = effect_tree.Insert(node, parent_id); |
| 1093 int node_id = data_for_children->effect_tree_parent; | 1100 int node_id = data_for_children->effect_tree_parent; |
| 1094 layer->SetEffectTreeIndex(node_id); | 1101 layer->SetEffectTreeIndex(node_id); |
| 1095 data_for_children->property_trees->effect_id_to_index_map[layer->id()] = | 1102 data_for_children->property_trees->effect_id_to_index_map[layer->id()] = |
| 1096 data_for_children->effect_tree_parent; | 1103 data_for_children->effect_tree_parent; |
| 1097 | 1104 |
| 1105 // For animation subsystem purposes, if this layer has a compositor element |
| 1106 // id, we build a map from that id to this effect node. |
| 1107 if (layer->element_id()) { |
| 1108 data_for_children->property_trees |
| 1109 ->element_id_to_effect_node_index[layer->element_id()] = node_id; |
| 1110 } |
| 1111 |
| 1098 std::vector<std::unique_ptr<CopyOutputRequest>> layer_copy_requests; | 1112 std::vector<std::unique_ptr<CopyOutputRequest>> layer_copy_requests; |
| 1099 TakeCopyRequests(layer, &layer_copy_requests); | 1113 TakeCopyRequests(layer, &layer_copy_requests); |
| 1100 for (auto& it : layer_copy_requests) { | 1114 for (auto& it : layer_copy_requests) { |
| 1101 effect_tree.AddCopyRequest(node_id, std::move(it)); | 1115 effect_tree.AddCopyRequest(node_id, std::move(it)); |
| 1102 } | 1116 } |
| 1103 layer_copy_requests.clear(); | 1117 layer_copy_requests.clear(); |
| 1104 | 1118 |
| 1105 if (should_create_render_surface) { | 1119 if (should_create_render_surface) { |
| 1106 data_for_children->compound_transform_since_render_target = | 1120 data_for_children->compound_transform_since_render_target = |
| 1107 gfx::Transform(); | 1121 gfx::Transform(); |
| (...skipping 409 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1517 color = SkColorSetA(color, 255); | 1531 color = SkColorSetA(color, 255); |
| 1518 BuildPropertyTreesTopLevelInternal( | 1532 BuildPropertyTreesTopLevelInternal( |
| 1519 root_layer, page_scale_layer, inner_viewport_scroll_layer, | 1533 root_layer, page_scale_layer, inner_viewport_scroll_layer, |
| 1520 outer_viewport_scroll_layer, overscroll_elasticity_layer, | 1534 outer_viewport_scroll_layer, overscroll_elasticity_layer, |
| 1521 elastic_overscroll, page_scale_factor, device_scale_factor, viewport, | 1535 elastic_overscroll, page_scale_factor, device_scale_factor, viewport, |
| 1522 device_transform, property_trees, color); | 1536 device_transform, property_trees, color); |
| 1523 property_trees->ResetCachedData(); | 1537 property_trees->ResetCachedData(); |
| 1524 } | 1538 } |
| 1525 | 1539 |
| 1526 } // namespace cc | 1540 } // namespace cc |
| OLD | NEW |