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

Unified Diff: cc/layers/layer.cc

Issue 2753933005: cc: Move Layer Id to Node Map to Individual Property Tree Private (Closed)
Patch Set: renaming clean up Created 3 years, 9 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/input/scrollbar_animation_controller.cc ('k') | cc/layers/layer_impl.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: cc/layers/layer.cc
diff --git a/cc/layers/layer.cc b/cc/layers/layer.cc
index 04fa7f4a4236956fa9657f1ed3ae28b0479c252c..aad3951fad76014f7738db11c453a2fcdb4aa73a 100644
--- a/cc/layers/layer.cc
+++ b/cc/layers/layer.cc
@@ -472,12 +472,8 @@ void Layer::SetOpacity(float opacity) {
SetSubtreePropertyChanged();
if (layer_tree_host_ && !force_rebuild) {
PropertyTrees* property_trees = layer_tree_host_->property_trees();
- auto effect_id_to_index =
- property_trees->layer_id_to_effect_node_index.find(id());
- if (effect_id_to_index !=
- property_trees->layer_id_to_effect_node_index.end()) {
- EffectNode* node =
- property_trees->effect_tree.Node(effect_id_to_index->second);
+ if (EffectNode* node =
+ property_trees->effect_tree.FindNodeFromOwningLayerId(id())) {
node->opacity = opacity;
node->effect_changed = true;
property_trees->effect_tree.set_needs_update(true);
@@ -579,12 +575,9 @@ void Layer::SetPosition(const gfx::PointF& position) {
SetSubtreePropertyChanged();
PropertyTrees* property_trees = layer_tree_host_->property_trees();
- if (property_trees->IsInIdToIndexMap(PropertyTrees::TreeType::TRANSFORM,
- id())) {
- DCHECK_EQ(transform_tree_index(),
- property_trees->layer_id_to_transform_node_index[id()]);
- TransformNode* transform_node =
- property_trees->transform_tree.Node(transform_tree_index());
+ if (TransformNode* transform_node =
+ property_trees->transform_tree.FindNodeFromOwningLayerId(id())) {
+ DCHECK_EQ(transform_tree_index(), transform_node->id);
transform_node->update_post_local_transform(position, transform_origin());
if (transform_node->sticky_position_constraint_id >= 0) {
StickyPositionNodeData* sticky_data =
@@ -632,16 +625,12 @@ void Layer::SetTransform(const gfx::Transform& transform) {
SetSubtreePropertyChanged();
if (layer_tree_host_) {
PropertyTrees* property_trees = layer_tree_host_->property_trees();
- if (property_trees->IsInIdToIndexMap(PropertyTrees::TreeType::TRANSFORM,
- id())) {
+ if (TransformNode* transform_node =
+ property_trees->transform_tree.FindNodeFromOwningLayerId(id())) {
// We need to trigger a rebuild if we could have affected 2d axis
- // alignment. We'll check to see if transform and inputs_.transform
- // are axis
- // align with respect to one another.
- DCHECK_EQ(transform_tree_index(),
- property_trees->layer_id_to_transform_node_index[id()]);
- TransformNode* transform_node =
- property_trees->transform_tree.Node(transform_tree_index());
+ // alignment. We'll check to see if transform and inputs_.transform are
+ // axis align with respect to one another.
+ DCHECK_EQ(transform_tree_index(), transform_node->id);
bool preserves_2d_axis_alignment =
Are2dAxisAligned(inputs_.transform, transform);
transform_node->local = transform;
@@ -673,12 +662,9 @@ void Layer::SetTransformOrigin(const gfx::Point3F& transform_origin) {
SetSubtreePropertyChanged();
PropertyTrees* property_trees = layer_tree_host_->property_trees();
- if (property_trees->IsInIdToIndexMap(PropertyTrees::TreeType::TRANSFORM,
- id())) {
- DCHECK_EQ(transform_tree_index(),
- property_trees->layer_id_to_transform_node_index[id()]);
- TransformNode* transform_node =
- property_trees->transform_tree.Node(transform_tree_index());
+ if (TransformNode* transform_node =
+ property_trees->transform_tree.FindNodeFromOwningLayerId(id())) {
+ DCHECK_EQ(transform_tree_index(), transform_node->id);
transform_node->update_pre_local_transform(transform_origin);
transform_node->update_post_local_transform(position(), transform_origin);
transform_node->needs_local_transform_update = true;
@@ -776,12 +762,9 @@ void Layer::SetScrollOffset(const gfx::ScrollOffset& scroll_offset) {
if (scroll_tree_index() != ScrollTree::kInvalidNodeId && scrollable())
property_trees->scroll_tree.SetScrollOffset(id(), scroll_offset);
- if (property_trees->IsInIdToIndexMap(PropertyTrees::TreeType::TRANSFORM,
- id())) {
- DCHECK_EQ(transform_tree_index(),
- property_trees->layer_id_to_transform_node_index[id()]);
- TransformNode* transform_node =
- property_trees->transform_tree.Node(transform_tree_index());
+ if (TransformNode* transform_node =
+ property_trees->transform_tree.FindNodeFromOwningLayerId(id())) {
+ DCHECK_EQ(transform_tree_index(), transform_node->id);
transform_node->scroll_offset = CurrentScrollOffset();
transform_node->needs_local_transform_update = true;
property_trees->transform_tree.set_needs_update(true);
@@ -809,12 +792,9 @@ void Layer::SetScrollOffsetFromImplSide(
if (scroll_tree_index() != ScrollTree::kInvalidNodeId && scrollable())
property_trees->scroll_tree.SetScrollOffset(id(), scroll_offset);
- if (property_trees->IsInIdToIndexMap(PropertyTrees::TreeType::TRANSFORM,
- id())) {
- DCHECK_EQ(transform_tree_index(),
- property_trees->layer_id_to_transform_node_index[id()]);
- TransformNode* transform_node =
- property_trees->transform_tree.Node(transform_tree_index());
+ if (TransformNode* transform_node =
+ property_trees->transform_tree.FindNodeFromOwningLayerId(id())) {
+ DCHECK_EQ(transform_tree_index(), transform_node->id);
transform_node->scroll_offset = CurrentScrollOffset();
transform_node->needs_local_transform_update = true;
property_trees->transform_tree.set_needs_update(true);
@@ -1347,21 +1327,13 @@ void Layer::OnIsAnimatingChanged(const PropertyAnimationState& mask,
DCHECK(layer_tree_host_);
PropertyTrees* property_trees = layer_tree_host_->property_trees();
- TransformNode* transform_node = nullptr;
- if (property_trees->IsInIdToIndexMap(PropertyTrees::TreeType::TRANSFORM,
- id())) {
- DCHECK_EQ(transform_tree_index(),
- property_trees->layer_id_to_transform_node_index[id()]);
- transform_node =
- property_trees->transform_tree.Node(transform_tree_index());
- }
+ TransformNode* transform_node =
+ property_trees->transform_tree.FindNodeFromOwningLayerId(id());
+ DCHECK(!transform_node || transform_node->id == transform_tree_index());
- EffectNode* effect_node = nullptr;
- if (property_trees->IsInIdToIndexMap(PropertyTrees::TreeType::EFFECT, id())) {
- DCHECK_EQ(effect_tree_index(),
- property_trees->layer_id_to_effect_node_index[id()]);
- effect_node = property_trees->effect_tree.Node(effect_tree_index());
- }
+ EffectNode* effect_node =
+ property_trees->effect_tree.FindNodeFromOwningLayerId(id());
+ DCHECK(!effect_node || effect_node->id == effect_tree_index());
for (int property = TargetProperty::FIRST_TARGET_PROPERTY;
property <= TargetProperty::LAST_TARGET_PROPERTY; ++property) {
« no previous file with comments | « cc/input/scrollbar_animation_controller.cc ('k') | cc/layers/layer_impl.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698