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

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

Issue 2612883002: Rename cc property tree node owner_id to owning_layer_id. (Closed)
Patch Set: Created 3 years, 11 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
« no previous file with comments | « cc/trees/property_tree.cc ('k') | cc/trees/scroll_node.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 320 matching lines...) Expand 10 before | Expand all | Expand 10 after
331 331
332 template <typename LayerType> 332 template <typename LayerType>
333 static void SetSurfaceIsClipped(DataForRecursion<LayerType>* data_for_children, 333 static void SetSurfaceIsClipped(DataForRecursion<LayerType>* data_for_children,
334 bool apply_ancestor_clip, 334 bool apply_ancestor_clip,
335 LayerType* layer) { 335 LayerType* layer) {
336 // A surface with unclipped descendants cannot be clipped by its ancestor 336 // A surface with unclipped descendants cannot be clipped by its ancestor
337 // clip at draw time since the unclipped descendants aren't affected by the 337 // clip at draw time since the unclipped descendants aren't affected by the
338 // ancestor clip. 338 // ancestor clip.
339 EffectNode* effect_node = data_for_children->property_trees->effect_tree.Node( 339 EffectNode* effect_node = data_for_children->property_trees->effect_tree.Node(
340 data_for_children->render_target); 340 data_for_children->render_target);
341 DCHECK_EQ(effect_node->owner_id, layer->id()); 341 DCHECK_EQ(effect_node->owning_layer_id, layer->id());
342 effect_node->surface_is_clipped = 342 effect_node->surface_is_clipped =
343 apply_ancestor_clip && !NumUnclippedDescendants(layer); 343 apply_ancestor_clip && !NumUnclippedDescendants(layer);
344 // The ancestor clip should propagate to children only if the surface doesn't 344 // The ancestor clip should propagate to children only if the surface doesn't
345 // apply the clip. 345 // apply the clip.
346 data_for_children->apply_ancestor_clip = 346 data_for_children->apply_ancestor_clip =
347 apply_ancestor_clip && !effect_node->surface_is_clipped; 347 apply_ancestor_clip && !effect_node->surface_is_clipped;
348 } 348 }
349 349
350 template <typename LayerType> 350 template <typename LayerType>
351 void AddClipNodeIfNeeded(const DataForRecursion<LayerType>& data_from_ancestor, 351 void AddClipNodeIfNeeded(const DataForRecursion<LayerType>& data_from_ancestor,
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after
416 transform_parent = data_for_children->transform_fixed_parent; 416 transform_parent = data_for_children->transform_fixed_parent;
417 } 417 }
418 ClipNode node; 418 ClipNode node;
419 node.clip = gfx::RectF(gfx::PointF() + layer->offset_to_transform_parent(), 419 node.clip = gfx::RectF(gfx::PointF() + layer->offset_to_transform_parent(),
420 gfx::SizeF(layer->bounds())); 420 gfx::SizeF(layer->bounds()));
421 node.transform_id = transform_parent->transform_tree_index(); 421 node.transform_id = transform_parent->transform_tree_index();
422 node.target_effect_id = data_for_children->render_target; 422 node.target_effect_id = data_for_children->render_target;
423 node.target_transform_id = data_for_children->property_trees->effect_tree 423 node.target_transform_id = data_for_children->property_trees->effect_tree
424 .Node(data_for_children->render_target) 424 .Node(data_for_children->render_target)
425 ->transform_id; 425 ->transform_id;
426 node.owner_id = layer->id(); 426 node.owning_layer_id = layer->id();
427 427
428 if (apply_ancestor_clip || layer_clips_subtree) { 428 if (apply_ancestor_clip || layer_clips_subtree) {
429 // Surfaces reset the rect used for layer clipping. At other nodes, layer 429 // Surfaces reset the rect used for layer clipping. At other nodes, layer
430 // clipping state from ancestors must continue to get propagated. 430 // clipping state from ancestors must continue to get propagated.
431 node.layer_clipping_uses_only_local_clip = 431 node.layer_clipping_uses_only_local_clip =
432 (created_render_surface && NumUnclippedDescendants(layer) == 0) || 432 (created_render_surface && NumUnclippedDescendants(layer) == 0) ||
433 !apply_ancestor_clip; 433 !apply_ancestor_clip;
434 } else { 434 } else {
435 // Otherwise, we're either unclipped, or exist only in order to apply our 435 // Otherwise, we're either unclipped, or exist only in order to apply our
436 // parent's clips in our space. 436 // parent's clips in our space.
(...skipping 296 matching lines...) Expand 10 before | Expand all | Expand 10 after
733 } 733 }
734 734
735 node->needs_local_transform_update = true; 735 node->needs_local_transform_update = true;
736 data_from_ancestor.property_trees->transform_tree.UpdateTransforms(node->id); 736 data_from_ancestor.property_trees->transform_tree.UpdateTransforms(node->id);
737 737
738 layer->set_offset_to_transform_parent(gfx::Vector2dF()); 738 layer->set_offset_to_transform_parent(gfx::Vector2dF());
739 739
740 // Flattening (if needed) will be handled by |node|. 740 // Flattening (if needed) will be handled by |node|.
741 layer->set_should_flatten_transform_from_property_tree(false); 741 layer->set_should_flatten_transform_from_property_tree(false);
742 742
743 node->owner_id = layer->id(); 743 node->owning_layer_id = layer->id();
744 744
745 return true; 745 return true;
746 } 746 }
747 747
748 static inline bool HasPotentialOpacityAnimation(Layer* layer) { 748 static inline bool HasPotentialOpacityAnimation(Layer* layer) {
749 return HasPotentiallyRunningOpacityAnimation(layer) || 749 return HasPotentiallyRunningOpacityAnimation(layer) ||
750 layer->OpacityCanAnimateOnImplThread(); 750 layer->OpacityCanAnimateOnImplThread();
751 } 751 }
752 752
753 static inline bool HasPotentialOpacityAnimation(LayerImpl* layer) { 753 static inline bool HasPotentialOpacityAnimation(LayerImpl* layer) {
(...skipping 264 matching lines...) Expand 10 before | Expand all | Expand 10 after
1018 1018
1019 if (!requires_node) { 1019 if (!requires_node) {
1020 layer->SetEffectTreeIndex(parent_id); 1020 layer->SetEffectTreeIndex(parent_id);
1021 data_for_children->effect_tree_parent = parent_id; 1021 data_for_children->effect_tree_parent = parent_id;
1022 data_for_children->compound_transform_since_render_target *= 1022 data_for_children->compound_transform_since_render_target *=
1023 Transform(layer); 1023 Transform(layer);
1024 return false; 1024 return false;
1025 } 1025 }
1026 1026
1027 EffectNode node; 1027 EffectNode node;
1028 node.owner_id = layer->id(); 1028 node.owning_layer_id = layer->id();
1029 if (AlwaysUseActiveTreeOpacity(layer)) { 1029 if (AlwaysUseActiveTreeOpacity(layer)) {
1030 data_for_children->property_trees->always_use_active_tree_opacity_effect_ids 1030 data_for_children->property_trees->always_use_active_tree_opacity_effect_ids
1031 .push_back(node.owner_id); 1031 .push_back(node.owning_layer_id);
1032 } 1032 }
1033 1033
1034 node.opacity = Opacity(layer); 1034 node.opacity = Opacity(layer);
1035 node.blend_mode = BlendMode(layer); 1035 node.blend_mode = BlendMode(layer);
1036 node.unscaled_mask_target_size = layer->bounds(); 1036 node.unscaled_mask_target_size = layer->bounds();
1037 node.has_render_surface = should_create_render_surface; 1037 node.has_render_surface = should_create_render_surface;
1038 node.has_copy_request = HasCopyRequest(layer); 1038 node.has_copy_request = HasCopyRequest(layer);
1039 node.filters = Filters(layer); 1039 node.filters = Filters(layer);
1040 node.background_filters = BackgroundFilters(layer); 1040 node.background_filters = BackgroundFilters(layer);
1041 node.filters_origin = FiltersOrigin(layer); 1041 node.filters_origin = FiltersOrigin(layer);
(...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after
1119 (main_thread_scrolling_reasons != 1119 (main_thread_scrolling_reasons !=
1120 MainThreadScrollingReason::kNotScrollingOnMain && 1120 MainThreadScrollingReason::kNotScrollingOnMain &&
1121 (has_different_main_thread_scrolling_reasons || 1121 (has_different_main_thread_scrolling_reasons ||
1122 data_from_ancestor 1122 data_from_ancestor
1123 .scroll_tree_parent_created_by_uninheritable_criteria)); 1123 .scroll_tree_parent_created_by_uninheritable_criteria));
1124 1124
1125 if (!requires_node) { 1125 if (!requires_node) {
1126 data_for_children->scroll_tree_parent = parent_id; 1126 data_for_children->scroll_tree_parent = parent_id;
1127 } else { 1127 } else {
1128 ScrollNode node; 1128 ScrollNode node;
1129 node.owner_id = layer->id(); 1129 node.owning_layer_id = layer->id();
1130 node.scrollable = scrollable; 1130 node.scrollable = scrollable;
1131 node.main_thread_scrolling_reasons = main_thread_scrolling_reasons; 1131 node.main_thread_scrolling_reasons = main_thread_scrolling_reasons;
1132 node.contains_non_fast_scrollable_region = 1132 node.contains_non_fast_scrollable_region =
1133 contains_non_fast_scrollable_region; 1133 contains_non_fast_scrollable_region;
1134 gfx::Size clip_bounds; 1134 gfx::Size clip_bounds;
1135 if (layer->scroll_clip_layer()) { 1135 if (layer->scroll_clip_layer()) {
1136 clip_bounds = layer->scroll_clip_layer()->bounds(); 1136 clip_bounds = layer->scroll_clip_layer()->bounds();
1137 DCHECK(layer->scroll_clip_layer()->transform_tree_index() != 1137 DCHECK(layer->scroll_clip_layer()->transform_tree_index() !=
1138 kInvalidPropertyTreeNodeId); 1138 kInvalidPropertyTreeNodeId);
1139 node.max_scroll_offset_affected_by_page_scale = 1139 node.max_scroll_offset_affected_by_page_scale =
(...skipping 162 matching lines...) Expand 10 before | Expand all | Expand 10 after
1302 layer->offset_to_transform_parent()); 1302 layer->offset_to_transform_parent());
1303 MaskLayer(layer)->SetTransformTreeIndex(layer->transform_tree_index()); 1303 MaskLayer(layer)->SetTransformTreeIndex(layer->transform_tree_index());
1304 MaskLayer(layer)->SetClipTreeIndex(layer->clip_tree_index()); 1304 MaskLayer(layer)->SetClipTreeIndex(layer->clip_tree_index());
1305 MaskLayer(layer)->SetEffectTreeIndex(layer->effect_tree_index()); 1305 MaskLayer(layer)->SetEffectTreeIndex(layer->effect_tree_index());
1306 MaskLayer(layer)->SetScrollTreeIndex(layer->scroll_tree_index()); 1306 MaskLayer(layer)->SetScrollTreeIndex(layer->scroll_tree_index());
1307 } 1307 }
1308 1308
1309 EffectNode* effect_node = data_for_children.property_trees->effect_tree.Node( 1309 EffectNode* effect_node = data_for_children.property_trees->effect_tree.Node(
1310 data_for_children.effect_tree_parent); 1310 data_for_children.effect_tree_parent);
1311 1311
1312 if (effect_node->owner_id == layer->id()) { 1312 if (effect_node->owning_layer_id == layer->id()) {
1313 if (effect_node->has_copy_request) 1313 if (effect_node->has_copy_request)
1314 data_to_parent->num_copy_requests_in_subtree++; 1314 data_to_parent->num_copy_requests_in_subtree++;
1315 effect_node->num_copy_requests_in_subtree = 1315 effect_node->num_copy_requests_in_subtree =
1316 data_to_parent->num_copy_requests_in_subtree; 1316 data_to_parent->num_copy_requests_in_subtree;
1317 } 1317 }
1318 } 1318 }
1319 1319
1320 } // namespace 1320 } // namespace
1321 1321
1322 void CC_EXPORT 1322 void CC_EXPORT
(...skipping 181 matching lines...) Expand 10 before | Expand all | Expand 10 after
1504 color = SkColorSetA(color, 255); 1504 color = SkColorSetA(color, 255);
1505 BuildPropertyTreesTopLevelInternal( 1505 BuildPropertyTreesTopLevelInternal(
1506 root_layer, page_scale_layer, inner_viewport_scroll_layer, 1506 root_layer, page_scale_layer, inner_viewport_scroll_layer,
1507 outer_viewport_scroll_layer, overscroll_elasticity_layer, 1507 outer_viewport_scroll_layer, overscroll_elasticity_layer,
1508 elastic_overscroll, page_scale_factor, device_scale_factor, viewport, 1508 elastic_overscroll, page_scale_factor, device_scale_factor, viewport,
1509 device_transform, property_trees, color); 1509 device_transform, property_trees, color);
1510 property_trees->ResetCachedData(); 1510 property_trees->ResetCachedData();
1511 } 1511 }
1512 1512
1513 } // namespace cc 1513 } // namespace cc
OLDNEW
« no previous file with comments | « cc/trees/property_tree.cc ('k') | cc/trees/scroll_node.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698