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 899 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
910 data_for_children->effect_tree_parent = parent_id; | 910 data_for_children->effect_tree_parent = parent_id; |
911 data_for_children->compound_transform_since_render_target *= | 911 data_for_children->compound_transform_since_render_target *= |
912 Transform(layer); | 912 Transform(layer); |
913 return false; | 913 return false; |
914 } | 914 } |
915 | 915 |
916 EffectTree& effect_tree = data_for_children->property_trees->effect_tree; | 916 EffectTree& effect_tree = data_for_children->property_trees->effect_tree; |
917 int node_id = effect_tree.Insert(EffectNode(), parent_id); | 917 int node_id = effect_tree.Insert(EffectNode(), parent_id); |
918 EffectNode* node = effect_tree.back(); | 918 EffectNode* node = effect_tree.back(); |
919 | 919 |
920 node->owning_layer_id = layer->id(); | 920 node->stable_id = layer->id(); |
921 if (AlwaysUseActiveTreeOpacity(layer)) { | 921 if (AlwaysUseActiveTreeOpacity(layer)) { |
| 922 DCHECK(layer->element_id()); |
922 data_for_children->property_trees->always_use_active_tree_opacity_effect_ids | 923 data_for_children->property_trees->always_use_active_tree_opacity_effect_ids |
923 .push_back(node->owning_layer_id); | 924 .push_back(layer->element_id()); |
924 } | 925 } |
925 | 926 |
926 node->opacity = Opacity(layer); | 927 node->opacity = Opacity(layer); |
927 node->blend_mode = BlendMode(layer); | 928 node->blend_mode = BlendMode(layer); |
928 node->unscaled_mask_target_size = layer->bounds(); | 929 node->unscaled_mask_target_size = layer->bounds(); |
929 node->has_render_surface = should_create_render_surface; | 930 node->has_render_surface = should_create_render_surface; |
930 node->has_copy_request = HasCopyRequest(layer); | 931 node->has_copy_request = HasCopyRequest(layer); |
931 node->filters = Filters(layer); | 932 node->filters = Filters(layer); |
932 node->background_filters = BackgroundFilters(layer); | 933 node->background_filters = BackgroundFilters(layer); |
933 node->filters_origin = FiltersOrigin(layer); | 934 node->filters_origin = FiltersOrigin(layer); |
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
967 // factor) and clip node created from root layer (include viewports) applies | 968 // factor) and clip node created from root layer (include viewports) applies |
968 // to root render surface's content, but not root render surface itself. | 969 // to root render surface's content, but not root render surface itself. |
969 node->transform_id = TransformTree::kRootNodeId; | 970 node->transform_id = TransformTree::kRootNodeId; |
970 node->clip_id = ClipTree::kViewportNodeId; | 971 node->clip_id = ClipTree::kViewportNodeId; |
971 } | 972 } |
972 | 973 |
973 data_for_children->closest_ancestor_with_copy_request = | 974 data_for_children->closest_ancestor_with_copy_request = |
974 node->closest_ancestor_with_copy_request_id; | 975 node->closest_ancestor_with_copy_request_id; |
975 data_for_children->effect_tree_parent = node_id; | 976 data_for_children->effect_tree_parent = node_id; |
976 layer->SetEffectTreeIndex(node_id); | 977 layer->SetEffectTreeIndex(node_id); |
977 data_for_children->property_trees->effect_tree.SetOwningLayerIdForNode( | |
978 effect_tree.back(), layer->id()); | |
979 | 978 |
980 // For animation subsystem purposes, if this layer has a compositor element | 979 // For animation subsystem purposes, if this layer has a compositor element |
981 // id, we build a map from that id to this effect node. | 980 // id, we build a map from that id to this effect node. |
982 if (layer->element_id()) { | 981 if (layer->element_id()) { |
983 data_for_children->property_trees | 982 data_for_children->property_trees |
984 ->element_id_to_effect_node_index[layer->element_id()] = node_id; | 983 ->element_id_to_effect_node_index[layer->element_id()] = node_id; |
985 } | 984 } |
986 | 985 |
987 std::vector<std::unique_ptr<CopyOutputRequest>> layer_copy_requests; | 986 std::vector<std::unique_ptr<CopyOutputRequest>> layer_copy_requests; |
988 TakeCopyRequests(layer, &layer_copy_requests); | 987 TakeCopyRequests(layer, &layer_copy_requests); |
(...skipping 403 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1392 root_layer, page_scale_layer, inner_viewport_scroll_layer, | 1391 root_layer, page_scale_layer, inner_viewport_scroll_layer, |
1393 outer_viewport_scroll_layer, overscroll_elasticity_layer, | 1392 outer_viewport_scroll_layer, overscroll_elasticity_layer, |
1394 elastic_overscroll, page_scale_factor, device_scale_factor, viewport, | 1393 elastic_overscroll, page_scale_factor, device_scale_factor, viewport, |
1395 device_transform, property_trees, color); | 1394 device_transform, property_trees, color); |
1396 property_trees->effect_tree.CreateOrReuseRenderSurfaces( | 1395 property_trees->effect_tree.CreateOrReuseRenderSurfaces( |
1397 &render_surfaces, root_layer->layer_tree_impl()); | 1396 &render_surfaces, root_layer->layer_tree_impl()); |
1398 property_trees->ResetCachedData(); | 1397 property_trees->ResetCachedData(); |
1399 } | 1398 } |
1400 | 1399 |
1401 } // namespace cc | 1400 } // namespace cc |
OLD | NEW |