| 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 618 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 629 | 629 |
| 630 data_for_children->property_trees->transform_tree.Insert(TransformNode(), | 630 data_for_children->property_trees->transform_tree.Insert(TransformNode(), |
| 631 parent_index); | 631 parent_index); |
| 632 | 632 |
| 633 TransformNode* node = | 633 TransformNode* node = |
| 634 data_for_children->property_trees->transform_tree.back(); | 634 data_for_children->property_trees->transform_tree.back(); |
| 635 layer->SetTransformTreeIndex(node->id); | 635 layer->SetTransformTreeIndex(node->id); |
| 636 data_for_children->property_trees->transform_id_to_index_map[layer->id()] = | 636 data_for_children->property_trees->transform_id_to_index_map[layer->id()] = |
| 637 node->id; | 637 node->id; |
| 638 | 638 |
| 639 // For animation subsystem purposes, if this layer has a compositor element |
| 640 // id, we build a map from that id to this transform node. |
| 641 if (layer->element_id()) { |
| 642 data_for_children->property_trees |
| 643 ->element_id_to_transform_node_index[layer->element_id()] = node->id; |
| 644 } |
| 645 |
| 639 node->scrolls = is_scrollable; | 646 node->scrolls = is_scrollable; |
| 640 node->should_be_snapped = is_snapped; | 647 node->should_be_snapped = is_snapped; |
| 641 node->flattens_inherited_transform = data_for_children->should_flatten; | 648 node->flattens_inherited_transform = data_for_children->should_flatten; |
| 642 | 649 |
| 643 node->sorting_context_id = SortingContextId(layer); | 650 node->sorting_context_id = SortingContextId(layer); |
| 644 | 651 |
| 645 if (layer == data_from_ancestor.page_scale_layer) | 652 if (layer == data_from_ancestor.page_scale_layer) |
| 646 data_for_children->in_subtree_of_page_scale_layer = true; | 653 data_for_children->in_subtree_of_page_scale_layer = true; |
| 647 node->in_subtree_of_page_scale_layer = | 654 node->in_subtree_of_page_scale_layer = |
| 648 data_for_children->in_subtree_of_page_scale_layer; | 655 data_for_children->in_subtree_of_page_scale_layer; |
| (...skipping 445 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1094 // to root render surface's content, but not root render surface itself. | 1101 // to root render surface's content, but not root render surface itself. |
| 1095 node.transform_id = kRootPropertyTreeNodeId; | 1102 node.transform_id = kRootPropertyTreeNodeId; |
| 1096 node.clip_id = kViewportClipTreeNodeId; | 1103 node.clip_id = kViewportClipTreeNodeId; |
| 1097 } | 1104 } |
| 1098 int node_id = effect_tree.Insert(node, parent_id); | 1105 int node_id = effect_tree.Insert(node, parent_id); |
| 1099 data_for_children->effect_tree_parent = node_id; | 1106 data_for_children->effect_tree_parent = node_id; |
| 1100 layer->SetEffectTreeIndex(node_id); | 1107 layer->SetEffectTreeIndex(node_id); |
| 1101 data_for_children->property_trees->effect_id_to_index_map[layer->id()] = | 1108 data_for_children->property_trees->effect_id_to_index_map[layer->id()] = |
| 1102 node_id; | 1109 node_id; |
| 1103 | 1110 |
| 1111 // For animation subsystem purposes, if this layer has a compositor element |
| 1112 // id, we build a map from that id to this effect node. |
| 1113 if (layer->element_id()) { |
| 1114 data_for_children->property_trees |
| 1115 ->element_id_to_effect_node_index[layer->element_id()] = node_id; |
| 1116 } |
| 1117 |
| 1104 std::vector<std::unique_ptr<CopyOutputRequest>> layer_copy_requests; | 1118 std::vector<std::unique_ptr<CopyOutputRequest>> layer_copy_requests; |
| 1105 TakeCopyRequests(layer, &layer_copy_requests); | 1119 TakeCopyRequests(layer, &layer_copy_requests); |
| 1106 for (auto& it : layer_copy_requests) { | 1120 for (auto& it : layer_copy_requests) { |
| 1107 effect_tree.AddCopyRequest(node_id, std::move(it)); | 1121 effect_tree.AddCopyRequest(node_id, std::move(it)); |
| 1108 } | 1122 } |
| 1109 layer_copy_requests.clear(); | 1123 layer_copy_requests.clear(); |
| 1110 | 1124 |
| 1111 if (should_create_render_surface) { | 1125 if (should_create_render_surface) { |
| 1112 data_for_children->compound_transform_since_render_target = | 1126 data_for_children->compound_transform_since_render_target = |
| 1113 gfx::Transform(); | 1127 gfx::Transform(); |
| (...skipping 409 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1523 color = SkColorSetA(color, 255); | 1537 color = SkColorSetA(color, 255); |
| 1524 BuildPropertyTreesTopLevelInternal( | 1538 BuildPropertyTreesTopLevelInternal( |
| 1525 root_layer, page_scale_layer, inner_viewport_scroll_layer, | 1539 root_layer, page_scale_layer, inner_viewport_scroll_layer, |
| 1526 outer_viewport_scroll_layer, overscroll_elasticity_layer, | 1540 outer_viewport_scroll_layer, overscroll_elasticity_layer, |
| 1527 elastic_overscroll, page_scale_factor, device_scale_factor, viewport, | 1541 elastic_overscroll, page_scale_factor, device_scale_factor, viewport, |
| 1528 device_transform, property_trees, color); | 1542 device_transform, property_trees, color); |
| 1529 property_trees->ResetCachedData(); | 1543 property_trees->ResetCachedData(); |
| 1530 } | 1544 } |
| 1531 | 1545 |
| 1532 } // namespace cc | 1546 } // namespace cc |
| OLD | NEW |