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

Unified Diff: cc/trees/property_tree.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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « cc/trees/property_tree.h ('k') | cc/trees/property_tree_builder.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: cc/trees/property_tree.cc
diff --git a/cc/trees/property_tree.cc b/cc/trees/property_tree.cc
index fbedc16878b0cfe83a49df79688311b9513bdcab..75f76bce83a6b97ad01116fc62b7712ceae6262a 100644
--- a/cc/trees/property_tree.cc
+++ b/cc/trees/property_tree.cc
@@ -760,6 +760,12 @@ EffectTree::EffectTree() {
EffectTree::~EffectTree() {}
+#if DCHECK_IS_ON()
+bool EffectTree::LookupByOnwningLayerIdAllowed() const {
+ return false;
+}
+#endif
+
int EffectTree::Insert(const EffectNode& tree_node, int parent_id) {
int node_id = PropertyTree<EffectNode>::Insert(tree_node, parent_id);
DCHECK_EQ(node_id, static_cast<int>(render_surfaces_.size()));
@@ -1014,7 +1020,7 @@ void EffectTree::UpdateRenderSurfaces(LayerTreeImpl* layer_tree_impl) {
if (needs_render_surface) {
render_surfaces_[id] = base::MakeUnique<RenderSurfaceImpl>(
- layer_tree_impl, effect_node->owning_layer_id);
+ layer_tree_impl, effect_node->stable_id);
render_surfaces_[id]->set_effect_tree_index(id);
} else {
render_surfaces_[id].reset();
@@ -1059,7 +1065,7 @@ bool EffectTree::CreateOrReuseRenderSurfaces(
EffectNode* node = Node(id);
if (node->has_render_surface) {
stable_id_node_id_list.push_back(
- std::make_pair(node->owning_layer_id, node->id));
+ std::make_pair(node->stable_id, node->id));
}
}
@@ -1718,11 +1724,12 @@ void PropertyTrees::SetInnerViewportScrollBoundsDelta(
}
void PropertyTrees::PushOpacityIfNeeded(PropertyTrees* target_tree) {
- for (int id : target_tree->always_use_active_tree_opacity_effect_ids) {
+ for (const ElementId& element_id :
+ target_tree->always_use_active_tree_opacity_effect_ids) {
if (const EffectNode* source_effect_node =
- effect_tree.FindNodeFromOwningLayerId(id)) {
+ effect_tree.FindNodeFromElementId(element_id)) {
EffectNode* target_effect_node =
- target_tree->effect_tree.UpdateNodeFromOwningLayerId(id);
+ target_tree->effect_tree.FindNodeFromElementId(element_id);
float source_opacity = source_effect_node->opacity;
float target_opacity = target_effect_node->opacity;
if (source_opacity == target_opacity)
@@ -1737,7 +1744,6 @@ void PropertyTrees::RemoveIdFromIdToIndexMaps(int id) {
transform_tree.SetOwningLayerIdForNode(nullptr, id);
clip_tree.SetOwningLayerIdForNode(nullptr, id);
scroll_tree.SetOwningLayerIdForNode(nullptr, id);
- effect_tree.SetOwningLayerIdForNode(nullptr, id);
}
void PropertyTrees::UpdateChangeTracking() {
« no previous file with comments | « cc/trees/property_tree.h ('k') | cc/trees/property_tree_builder.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698