| 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 444 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 455 } else { | 455 } else { |
| 456 node.clip_type = ClipNode::ClipType::NONE; | 456 node.clip_type = ClipNode::ClipType::NONE; |
| 457 } | 457 } |
| 458 node.resets_clip = has_unclipped_surface; | 458 node.resets_clip = has_unclipped_surface; |
| 459 node.layers_are_clipped = layers_are_clipped; | 459 node.layers_are_clipped = layers_are_clipped; |
| 460 node.layers_are_clipped_when_surfaces_disabled = | 460 node.layers_are_clipped_when_surfaces_disabled = |
| 461 layers_are_clipped_when_surfaces_disabled; | 461 layers_are_clipped_when_surfaces_disabled; |
| 462 | 462 |
| 463 data_for_children->clip_tree_parent = | 463 data_for_children->clip_tree_parent = |
| 464 data_for_children->property_trees->clip_tree.Insert(node, parent_id); | 464 data_for_children->property_trees->clip_tree.Insert(node, parent_id); |
| 465 data_for_children->property_trees->clip_id_to_index_map[layer->id()] = | 465 data_for_children->property_trees |
| 466 ->layer_id_to_clip_node_index[layer->id()] = |
| 466 data_for_children->clip_tree_parent; | 467 data_for_children->clip_tree_parent; |
| 467 } | 468 } |
| 468 | 469 |
| 469 layer->SetClipTreeIndex(data_for_children->clip_tree_parent); | 470 layer->SetClipTreeIndex(data_for_children->clip_tree_parent); |
| 470 } | 471 } |
| 471 | 472 |
| 472 static inline int SortingContextId(Layer* layer) { | 473 static inline int SortingContextId(Layer* layer) { |
| 473 return layer->sorting_context_id(); | 474 return layer->sorting_context_id(); |
| 474 } | 475 } |
| 475 | 476 |
| (...skipping 150 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 626 layer->SetTransformTreeIndex(parent_index); | 627 layer->SetTransformTreeIndex(parent_index); |
| 627 return false; | 628 return false; |
| 628 } | 629 } |
| 629 | 630 |
| 630 data_for_children->property_trees->transform_tree.Insert(TransformNode(), | 631 data_for_children->property_trees->transform_tree.Insert(TransformNode(), |
| 631 parent_index); | 632 parent_index); |
| 632 | 633 |
| 633 TransformNode* node = | 634 TransformNode* node = |
| 634 data_for_children->property_trees->transform_tree.back(); | 635 data_for_children->property_trees->transform_tree.back(); |
| 635 layer->SetTransformTreeIndex(node->id); | 636 layer->SetTransformTreeIndex(node->id); |
| 636 data_for_children->property_trees->transform_id_to_index_map[layer->id()] = | 637 data_for_children->property_trees |
| 637 node->id; | 638 ->layer_id_to_transform_node_index[layer->id()] = node->id; |
| 638 | 639 |
| 639 // For animation subsystem purposes, if this layer has a compositor element | 640 // 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 // id, we build a map from that id to this transform node. |
| 641 if (layer->element_id()) { | 642 if (layer->element_id()) { |
| 642 data_for_children->property_trees | 643 data_for_children->property_trees |
| 643 ->element_id_to_transform_node_index[layer->element_id()] = node->id; | 644 ->element_id_to_transform_node_index[layer->element_id()] = node->id; |
| 644 } | 645 } |
| 645 | 646 |
| 646 node->scrolls = is_scrollable; | 647 node->scrolls = is_scrollable; |
| 647 node->should_be_snapped = is_snapped; | 648 node->should_be_snapped = is_snapped; |
| (...skipping 450 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1098 // Root render surface acts the unbounded and untransformed to draw content | 1099 // Root render surface acts the unbounded and untransformed to draw content |
| 1099 // into. Transform node created from root layer (includes device scale | 1100 // into. Transform node created from root layer (includes device scale |
| 1100 // factor) and clip node created from root layer (include viewports) applies | 1101 // factor) and clip node created from root layer (include viewports) applies |
| 1101 // to root render surface's content, but not root render surface itself. | 1102 // to root render surface's content, but not root render surface itself. |
| 1102 node.transform_id = kRootPropertyTreeNodeId; | 1103 node.transform_id = kRootPropertyTreeNodeId; |
| 1103 node.clip_id = kViewportClipTreeNodeId; | 1104 node.clip_id = kViewportClipTreeNodeId; |
| 1104 } | 1105 } |
| 1105 int node_id = effect_tree.Insert(node, parent_id); | 1106 int node_id = effect_tree.Insert(node, parent_id); |
| 1106 data_for_children->effect_tree_parent = node_id; | 1107 data_for_children->effect_tree_parent = node_id; |
| 1107 layer->SetEffectTreeIndex(node_id); | 1108 layer->SetEffectTreeIndex(node_id); |
| 1108 data_for_children->property_trees->effect_id_to_index_map[layer->id()] = | 1109 data_for_children->property_trees |
| 1109 node_id; | 1110 ->layer_id_to_effect_node_index[layer->id()] = node_id; |
| 1110 | 1111 |
| 1111 // For animation subsystem purposes, if this layer has a compositor element | 1112 // 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 // id, we build a map from that id to this effect node. |
| 1113 if (layer->element_id()) { | 1114 if (layer->element_id()) { |
| 1114 data_for_children->property_trees | 1115 data_for_children->property_trees |
| 1115 ->element_id_to_effect_node_index[layer->element_id()] = node_id; | 1116 ->element_id_to_effect_node_index[layer->element_id()] = node_id; |
| 1116 } | 1117 } |
| 1117 | 1118 |
| 1118 std::vector<std::unique_ptr<CopyOutputRequest>> layer_copy_requests; | 1119 std::vector<std::unique_ptr<CopyOutputRequest>> layer_copy_requests; |
| 1119 TakeCopyRequests(layer, &layer_copy_requests); | 1120 TakeCopyRequests(layer, &layer_copy_requests); |
| (...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1192 node.element_id = layer->element_id(); | 1193 node.element_id = layer->element_id(); |
| 1193 node.transform_id = | 1194 node.transform_id = |
| 1194 data_for_children->transform_tree_parent->transform_tree_index(); | 1195 data_for_children->transform_tree_parent->transform_tree_index(); |
| 1195 | 1196 |
| 1196 data_for_children->scroll_tree_parent = | 1197 data_for_children->scroll_tree_parent = |
| 1197 data_for_children->property_trees->scroll_tree.Insert(node, parent_id); | 1198 data_for_children->property_trees->scroll_tree.Insert(node, parent_id); |
| 1198 data_for_children->main_thread_scrolling_reasons = | 1199 data_for_children->main_thread_scrolling_reasons = |
| 1199 node.main_thread_scrolling_reasons; | 1200 node.main_thread_scrolling_reasons; |
| 1200 data_for_children->scroll_tree_parent_created_by_uninheritable_criteria = | 1201 data_for_children->scroll_tree_parent_created_by_uninheritable_criteria = |
| 1201 scroll_node_uninheritable_criteria; | 1202 scroll_node_uninheritable_criteria; |
| 1202 data_for_children->property_trees->scroll_id_to_index_map[layer->id()] = | 1203 data_for_children->property_trees |
| 1204 ->layer_id_to_scroll_node_index[layer->id()] = |
| 1203 data_for_children->scroll_tree_parent; | 1205 data_for_children->scroll_tree_parent; |
| 1204 | 1206 |
| 1205 if (node.scrollable) { | 1207 if (node.scrollable) { |
| 1206 data_for_children->property_trees->scroll_tree.SetBaseScrollOffset( | 1208 data_for_children->property_trees->scroll_tree.SetBaseScrollOffset( |
| 1207 layer->id(), layer->CurrentScrollOffset()); | 1209 layer->id(), layer->CurrentScrollOffset()); |
| 1208 } | 1210 } |
| 1209 } | 1211 } |
| 1210 | 1212 |
| 1211 layer->SetScrollTreeIndex(data_for_children->scroll_tree_parent); | 1213 layer->SetScrollTreeIndex(data_for_children->scroll_tree_parent); |
| 1212 } | 1214 } |
| (...skipping 324 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1537 color = SkColorSetA(color, 255); | 1539 color = SkColorSetA(color, 255); |
| 1538 BuildPropertyTreesTopLevelInternal( | 1540 BuildPropertyTreesTopLevelInternal( |
| 1539 root_layer, page_scale_layer, inner_viewport_scroll_layer, | 1541 root_layer, page_scale_layer, inner_viewport_scroll_layer, |
| 1540 outer_viewport_scroll_layer, overscroll_elasticity_layer, | 1542 outer_viewport_scroll_layer, overscroll_elasticity_layer, |
| 1541 elastic_overscroll, page_scale_factor, device_scale_factor, viewport, | 1543 elastic_overscroll, page_scale_factor, device_scale_factor, viewport, |
| 1542 device_transform, property_trees, color); | 1544 device_transform, property_trees, color); |
| 1543 property_trees->ResetCachedData(); | 1545 property_trees->ResetCachedData(); |
| 1544 } | 1546 } |
| 1545 | 1547 |
| 1546 } // namespace cc | 1548 } // namespace cc |
| OLD | NEW |