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 430 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
441 node.clip_type = ClipNode::ClipType::APPLIES_LOCAL_CLIP; | 441 node.clip_type = ClipNode::ClipType::APPLIES_LOCAL_CLIP; |
442 else | 442 else |
443 node.clip_type = ClipNode::ClipType::NONE; | 443 node.clip_type = ClipNode::ClipType::NONE; |
444 node.resets_clip = has_unclipped_surface; | 444 node.resets_clip = has_unclipped_surface; |
445 node.layers_are_clipped = layers_are_clipped; | 445 node.layers_are_clipped = layers_are_clipped; |
446 node.layers_are_clipped_when_surfaces_disabled = | 446 node.layers_are_clipped_when_surfaces_disabled = |
447 layers_are_clipped_when_surfaces_disabled; | 447 layers_are_clipped_when_surfaces_disabled; |
448 | 448 |
449 data_for_children->clip_tree_parent = | 449 data_for_children->clip_tree_parent = |
450 data_for_children->property_trees->clip_tree.Insert(node, parent_id); | 450 data_for_children->property_trees->clip_tree.Insert(node, parent_id); |
451 data_for_children->property_trees->clip_id_to_index_map[layer->id()] = | 451 data_for_children->property_trees |
| 452 ->layer_id_to_clip_node_index[layer->id()] = |
452 data_for_children->clip_tree_parent; | 453 data_for_children->clip_tree_parent; |
453 } | 454 } |
454 | 455 |
455 layer->SetClipTreeIndex(data_for_children->clip_tree_parent); | 456 layer->SetClipTreeIndex(data_for_children->clip_tree_parent); |
456 } | 457 } |
457 | 458 |
458 static inline int SortingContextId(Layer* layer) { | 459 static inline int SortingContextId(Layer* layer) { |
459 return layer->sorting_context_id(); | 460 return layer->sorting_context_id(); |
460 } | 461 } |
461 | 462 |
(...skipping 150 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
612 layer->SetTransformTreeIndex(parent_index); | 613 layer->SetTransformTreeIndex(parent_index); |
613 return false; | 614 return false; |
614 } | 615 } |
615 | 616 |
616 data_for_children->property_trees->transform_tree.Insert(TransformNode(), | 617 data_for_children->property_trees->transform_tree.Insert(TransformNode(), |
617 parent_index); | 618 parent_index); |
618 | 619 |
619 TransformNode* node = | 620 TransformNode* node = |
620 data_for_children->property_trees->transform_tree.back(); | 621 data_for_children->property_trees->transform_tree.back(); |
621 layer->SetTransformTreeIndex(node->id); | 622 layer->SetTransformTreeIndex(node->id); |
622 data_for_children->property_trees->transform_id_to_index_map[layer->id()] = | 623 data_for_children->property_trees |
623 node->id; | 624 ->layer_id_to_transform_node_index[layer->id()] = node->id; |
624 | 625 |
625 node->scrolls = is_scrollable; | 626 node->scrolls = is_scrollable; |
626 node->should_be_snapped = is_snapped; | 627 node->should_be_snapped = is_snapped; |
627 node->flattens_inherited_transform = data_for_children->should_flatten; | 628 node->flattens_inherited_transform = data_for_children->should_flatten; |
628 | 629 |
629 node->sorting_context_id = SortingContextId(layer); | 630 node->sorting_context_id = SortingContextId(layer); |
630 | 631 |
631 if (layer == data_from_ancestor.page_scale_layer) | 632 if (layer == data_from_ancestor.page_scale_layer) |
632 data_for_children->in_subtree_of_page_scale_layer = true; | 633 data_for_children->in_subtree_of_page_scale_layer = true; |
633 node->in_subtree_of_page_scale_layer = | 634 node->in_subtree_of_page_scale_layer = |
(...skipping 451 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1085 // Root render surface acts the unbounded and untransformed to draw content | 1086 // Root render surface acts the unbounded and untransformed to draw content |
1086 // into. Transform node created from root layer (includes device scale | 1087 // into. Transform node created from root layer (includes device scale |
1087 // factor) and clip node created from root layer (include viewports) applies | 1088 // factor) and clip node created from root layer (include viewports) applies |
1088 // to root render surface's content, but not root render surface itself. | 1089 // to root render surface's content, but not root render surface itself. |
1089 node.transform_id = kRootPropertyTreeNodeId; | 1090 node.transform_id = kRootPropertyTreeNodeId; |
1090 node.clip_id = kViewportClipTreeNodeId; | 1091 node.clip_id = kViewportClipTreeNodeId; |
1091 } | 1092 } |
1092 data_for_children->effect_tree_parent = effect_tree.Insert(node, parent_id); | 1093 data_for_children->effect_tree_parent = effect_tree.Insert(node, parent_id); |
1093 int node_id = data_for_children->effect_tree_parent; | 1094 int node_id = data_for_children->effect_tree_parent; |
1094 layer->SetEffectTreeIndex(node_id); | 1095 layer->SetEffectTreeIndex(node_id); |
1095 data_for_children->property_trees->effect_id_to_index_map[layer->id()] = | 1096 data_for_children->property_trees |
| 1097 ->layer_id_to_effect_node_index[layer->id()] = |
1096 data_for_children->effect_tree_parent; | 1098 data_for_children->effect_tree_parent; |
1097 | 1099 |
1098 std::vector<std::unique_ptr<CopyOutputRequest>> layer_copy_requests; | 1100 std::vector<std::unique_ptr<CopyOutputRequest>> layer_copy_requests; |
1099 TakeCopyRequests(layer, &layer_copy_requests); | 1101 TakeCopyRequests(layer, &layer_copy_requests); |
1100 for (auto& it : layer_copy_requests) { | 1102 for (auto& it : layer_copy_requests) { |
1101 effect_tree.AddCopyRequest(node_id, std::move(it)); | 1103 effect_tree.AddCopyRequest(node_id, std::move(it)); |
1102 } | 1104 } |
1103 layer_copy_requests.clear(); | 1105 layer_copy_requests.clear(); |
1104 | 1106 |
1105 if (should_create_render_surface) { | 1107 if (should_create_render_surface) { |
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1172 node.element_id = layer->element_id(); | 1174 node.element_id = layer->element_id(); |
1173 node.transform_id = | 1175 node.transform_id = |
1174 data_for_children->transform_tree_parent->transform_tree_index(); | 1176 data_for_children->transform_tree_parent->transform_tree_index(); |
1175 | 1177 |
1176 data_for_children->scroll_tree_parent = | 1178 data_for_children->scroll_tree_parent = |
1177 data_for_children->property_trees->scroll_tree.Insert(node, parent_id); | 1179 data_for_children->property_trees->scroll_tree.Insert(node, parent_id); |
1178 data_for_children->main_thread_scrolling_reasons = | 1180 data_for_children->main_thread_scrolling_reasons = |
1179 node.main_thread_scrolling_reasons; | 1181 node.main_thread_scrolling_reasons; |
1180 data_for_children->scroll_tree_parent_created_by_uninheritable_criteria = | 1182 data_for_children->scroll_tree_parent_created_by_uninheritable_criteria = |
1181 scroll_node_uninheritable_criteria; | 1183 scroll_node_uninheritable_criteria; |
1182 data_for_children->property_trees->scroll_id_to_index_map[layer->id()] = | 1184 data_for_children->property_trees |
| 1185 ->layer_id_to_scroll_node_index[layer->id()] = |
1183 data_for_children->scroll_tree_parent; | 1186 data_for_children->scroll_tree_parent; |
1184 | 1187 |
1185 if (node.scrollable) { | 1188 if (node.scrollable) { |
1186 data_for_children->property_trees->scroll_tree.SetBaseScrollOffset( | 1189 data_for_children->property_trees->scroll_tree.SetBaseScrollOffset( |
1187 layer->id(), layer->CurrentScrollOffset()); | 1190 layer->id(), layer->CurrentScrollOffset()); |
1188 } | 1191 } |
1189 } | 1192 } |
1190 | 1193 |
1191 layer->SetScrollTreeIndex(data_for_children->scroll_tree_parent); | 1194 layer->SetScrollTreeIndex(data_for_children->scroll_tree_parent); |
1192 } | 1195 } |
(...skipping 324 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1517 color = SkColorSetA(color, 255); | 1520 color = SkColorSetA(color, 255); |
1518 BuildPropertyTreesTopLevelInternal( | 1521 BuildPropertyTreesTopLevelInternal( |
1519 root_layer, page_scale_layer, inner_viewport_scroll_layer, | 1522 root_layer, page_scale_layer, inner_viewport_scroll_layer, |
1520 outer_viewport_scroll_layer, overscroll_elasticity_layer, | 1523 outer_viewport_scroll_layer, overscroll_elasticity_layer, |
1521 elastic_overscroll, page_scale_factor, device_scale_factor, viewport, | 1524 elastic_overscroll, page_scale_factor, device_scale_factor, viewport, |
1522 device_transform, property_trees, color); | 1525 device_transform, property_trees, color); |
1523 property_trees->ResetCachedData(); | 1526 property_trees->ResetCachedData(); |
1524 } | 1527 } |
1525 | 1528 |
1526 } // namespace cc | 1529 } // namespace cc |
OLD | NEW |