| 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 440 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 451 } else { | 451 } else { |
| 452 node.clip_type = ClipNode::ClipType::NONE; | 452 node.clip_type = ClipNode::ClipType::NONE; |
| 453 } | 453 } |
| 454 node.resets_clip = has_unclipped_surface; | 454 node.resets_clip = has_unclipped_surface; |
| 455 node.layers_are_clipped = layers_are_clipped; | 455 node.layers_are_clipped = layers_are_clipped; |
| 456 node.layers_are_clipped_when_surfaces_disabled = | 456 node.layers_are_clipped_when_surfaces_disabled = |
| 457 layers_are_clipped_when_surfaces_disabled; | 457 layers_are_clipped_when_surfaces_disabled; |
| 458 | 458 |
| 459 data_for_children->clip_tree_parent = | 459 data_for_children->clip_tree_parent = |
| 460 data_for_children->property_trees->clip_tree.Insert(node, parent_id); | 460 data_for_children->property_trees->clip_tree.Insert(node, parent_id); |
| 461 data_for_children->property_trees | 461 data_for_children->property_trees->clip_tree.InsertOwningIdForNode( |
| 462 ->layer_id_to_clip_node_index[layer->id()] = | 462 data_for_children->property_trees->clip_tree.back(), layer->id()); |
| 463 data_for_children->clip_tree_parent; | |
| 464 } | 463 } |
| 465 | 464 |
| 466 layer->SetClipTreeIndex(data_for_children->clip_tree_parent); | 465 layer->SetClipTreeIndex(data_for_children->clip_tree_parent); |
| 467 } | 466 } |
| 468 | 467 |
| 469 static inline int SortingContextId(Layer* layer) { | 468 static inline int SortingContextId(Layer* layer) { |
| 470 return layer->sorting_context_id(); | 469 return layer->sorting_context_id(); |
| 471 } | 470 } |
| 472 | 471 |
| 473 static inline int SortingContextId(LayerImpl* layer) { | 472 static inline int SortingContextId(LayerImpl* layer) { |
| (...skipping 149 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 623 layer->SetTransformTreeIndex(parent_index); | 622 layer->SetTransformTreeIndex(parent_index); |
| 624 return false; | 623 return false; |
| 625 } | 624 } |
| 626 | 625 |
| 627 data_for_children->property_trees->transform_tree.Insert(TransformNode(), | 626 data_for_children->property_trees->transform_tree.Insert(TransformNode(), |
| 628 parent_index); | 627 parent_index); |
| 629 | 628 |
| 630 TransformNode* node = | 629 TransformNode* node = |
| 631 data_for_children->property_trees->transform_tree.back(); | 630 data_for_children->property_trees->transform_tree.back(); |
| 632 layer->SetTransformTreeIndex(node->id); | 631 layer->SetTransformTreeIndex(node->id); |
| 633 data_for_children->property_trees | 632 data_for_children->property_trees->transform_tree.InsertOwningIdForNode( |
| 634 ->layer_id_to_transform_node_index[layer->id()] = node->id; | 633 node, layer->id()); |
| 635 | 634 |
| 636 // For animation subsystem purposes, if this layer has a compositor element | 635 // For animation subsystem purposes, if this layer has a compositor element |
| 637 // id, we build a map from that id to this transform node. | 636 // id, we build a map from that id to this transform node. |
| 638 if (layer->element_id()) { | 637 if (layer->element_id()) { |
| 639 data_for_children->property_trees | 638 data_for_children->property_trees |
| 640 ->element_id_to_transform_node_index[layer->element_id()] = node->id; | 639 ->element_id_to_transform_node_index[layer->element_id()] = node->id; |
| 641 } | 640 } |
| 642 | 641 |
| 643 node->scrolls = is_scrollable; | 642 node->scrolls = is_scrollable; |
| 644 node->should_be_snapped = is_snapped; | 643 node->should_be_snapped = is_snapped; |
| (...skipping 450 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1095 // Root render surface acts the unbounded and untransformed to draw content | 1094 // Root render surface acts the unbounded and untransformed to draw content |
| 1096 // into. Transform node created from root layer (includes device scale | 1095 // into. Transform node created from root layer (includes device scale |
| 1097 // factor) and clip node created from root layer (include viewports) applies | 1096 // factor) and clip node created from root layer (include viewports) applies |
| 1098 // to root render surface's content, but not root render surface itself. | 1097 // to root render surface's content, but not root render surface itself. |
| 1099 node.transform_id = TransformTree::kRootNodeId; | 1098 node.transform_id = TransformTree::kRootNodeId; |
| 1100 node.clip_id = ClipTree::kViewportNodeId; | 1099 node.clip_id = ClipTree::kViewportNodeId; |
| 1101 } | 1100 } |
| 1102 int node_id = effect_tree.Insert(node, parent_id); | 1101 int node_id = effect_tree.Insert(node, parent_id); |
| 1103 data_for_children->effect_tree_parent = node_id; | 1102 data_for_children->effect_tree_parent = node_id; |
| 1104 layer->SetEffectTreeIndex(node_id); | 1103 layer->SetEffectTreeIndex(node_id); |
| 1105 data_for_children->property_trees | 1104 data_for_children->property_trees->effect_tree.InsertOwningIdForNode( |
| 1106 ->layer_id_to_effect_node_index[layer->id()] = node_id; | 1105 effect_tree.back(), layer->id()); |
| 1107 | 1106 |
| 1108 // For animation subsystem purposes, if this layer has a compositor element | 1107 // For animation subsystem purposes, if this layer has a compositor element |
| 1109 // id, we build a map from that id to this effect node. | 1108 // id, we build a map from that id to this effect node. |
| 1110 if (layer->element_id()) { | 1109 if (layer->element_id()) { |
| 1111 data_for_children->property_trees | 1110 data_for_children->property_trees |
| 1112 ->element_id_to_effect_node_index[layer->element_id()] = node_id; | 1111 ->element_id_to_effect_node_index[layer->element_id()] = node_id; |
| 1113 } | 1112 } |
| 1114 | 1113 |
| 1115 std::vector<std::unique_ptr<CopyOutputRequest>> layer_copy_requests; | 1114 std::vector<std::unique_ptr<CopyOutputRequest>> layer_copy_requests; |
| 1116 TakeCopyRequests(layer, &layer_copy_requests); | 1115 TakeCopyRequests(layer, &layer_copy_requests); |
| (...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1191 node.transform_id = | 1190 node.transform_id = |
| 1192 data_for_children->transform_tree_parent->transform_tree_index(); | 1191 data_for_children->transform_tree_parent->transform_tree_index(); |
| 1193 | 1192 |
| 1194 node_id = | 1193 node_id = |
| 1195 data_for_children->property_trees->scroll_tree.Insert(node, parent_id); | 1194 data_for_children->property_trees->scroll_tree.Insert(node, parent_id); |
| 1196 data_for_children->scroll_tree_parent = node_id; | 1195 data_for_children->scroll_tree_parent = node_id; |
| 1197 data_for_children->main_thread_scrolling_reasons = | 1196 data_for_children->main_thread_scrolling_reasons = |
| 1198 node.main_thread_scrolling_reasons; | 1197 node.main_thread_scrolling_reasons; |
| 1199 data_for_children->scroll_tree_parent_created_by_uninheritable_criteria = | 1198 data_for_children->scroll_tree_parent_created_by_uninheritable_criteria = |
| 1200 scroll_node_uninheritable_criteria; | 1199 scroll_node_uninheritable_criteria; |
| 1201 data_for_children->property_trees | 1200 data_for_children->property_trees->scroll_tree.InsertOwningIdForNode( |
| 1202 ->layer_id_to_scroll_node_index[layer->id()] = node_id; | 1201 data_for_children->property_trees->scroll_tree.back(), layer->id()); |
| 1203 // For animation subsystem purposes, if this layer has a compositor element | 1202 // For animation subsystem purposes, if this layer has a compositor element |
| 1204 // id, we build a map from that id to this scroll node. | 1203 // id, we build a map from that id to this scroll node. |
| 1205 if (layer->element_id()) { | 1204 if (layer->element_id()) { |
| 1206 data_for_children->property_trees | 1205 data_for_children->property_trees |
| 1207 ->element_id_to_scroll_node_index[layer->element_id()] = node_id; | 1206 ->element_id_to_scroll_node_index[layer->element_id()] = node_id; |
| 1208 } | 1207 } |
| 1209 | 1208 |
| 1210 if (node.scrollable) { | 1209 if (node.scrollable) { |
| 1211 data_for_children->property_trees->scroll_tree.SetBaseScrollOffset( | 1210 data_for_children->property_trees->scroll_tree.SetBaseScrollOffset( |
| 1212 layer->id(), layer->CurrentScrollOffset()); | 1211 layer->id(), layer->CurrentScrollOffset()); |
| (...skipping 334 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1547 root_layer, page_scale_layer, inner_viewport_scroll_layer, | 1546 root_layer, page_scale_layer, inner_viewport_scroll_layer, |
| 1548 outer_viewport_scroll_layer, overscroll_elasticity_layer, | 1547 outer_viewport_scroll_layer, overscroll_elasticity_layer, |
| 1549 elastic_overscroll, page_scale_factor, device_scale_factor, viewport, | 1548 elastic_overscroll, page_scale_factor, device_scale_factor, viewport, |
| 1550 device_transform, property_trees, color); | 1549 device_transform, property_trees, color); |
| 1551 property_trees->effect_tree.CreateOrReuseRenderSurfaces( | 1550 property_trees->effect_tree.CreateOrReuseRenderSurfaces( |
| 1552 &render_surfaces, root_layer->layer_tree_impl()); | 1551 &render_surfaces, root_layer->layer_tree_impl()); |
| 1553 property_trees->ResetCachedData(); | 1552 property_trees->ResetCachedData(); |
| 1554 } | 1553 } |
| 1555 | 1554 |
| 1556 } // namespace cc | 1555 } // namespace cc |
| OLD | NEW |