Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(24)

Side by Side Diff: cc/trees/property_tree_builder.cc

Issue 2866733002: Remove owning_id from EffectNode and replace it by an opaque stable_id (Closed)
Patch Set: none Created 3 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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
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
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
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
OLDNEW
« no previous file with comments | « cc/trees/property_tree.cc ('k') | third_party/WebKit/Source/core/page/scrolling/ScrollingCoordinator.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698