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

Unified Diff: cc/layers/layer_impl.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/layers/layer_impl.h ('k') | cc/layers/render_surface_impl.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: cc/layers/layer_impl.cc
diff --git a/cc/layers/layer_impl.cc b/cc/layers/layer_impl.cc
index 010df135a98384c50d67ff13afd3039046b93054..4dd916142f238f90511407e0cd3dada6c0e2c9df 100644
--- a/cc/layers/layer_impl.cc
+++ b/cc/layers/layer_impl.cc
@@ -484,12 +484,8 @@ int LayerImpl::num_copy_requests_in_target_subtree() {
}
void LayerImpl::UpdatePropertyTreeTransformIsAnimated(bool is_animated) {
- PropertyTrees* property_trees = GetPropertyTrees();
- if (property_trees->IsInIdToIndexMap(PropertyTrees::TreeType::TRANSFORM,
- id())) {
- TransformTree& transform_tree = GetTransformTree();
- TransformNode* node = transform_tree.Node(
- property_trees->layer_id_to_transform_node_index[id()]);
+ if (TransformNode* node =
+ GetTransformTree().FindNodeFromOwningLayerId(id())) {
// A LayerImpl's own current state is insufficient for determining whether
// it owns a TransformNode, since this depends on the state of the
// corresponding Layer at the time of the last commit. For example, if
@@ -507,7 +503,7 @@ void LayerImpl::UpdatePropertyTreeTransformIsAnimated(bool is_animated) {
node->has_only_translation_animations = true;
}
- transform_tree.set_needs_update(true);
+ GetTransformTree().set_needs_update(true);
layer_tree_impl()->set_needs_update_draw_properties();
}
}
@@ -530,21 +526,10 @@ gfx::ScrollOffset LayerImpl::ScrollOffsetForAnimation() const {
void LayerImpl::OnIsAnimatingChanged(const PropertyAnimationState& mask,
const PropertyAnimationState& state) {
DCHECK(layer_tree_impl_);
- PropertyTrees* property_trees = GetPropertyTrees();
-
- TransformNode* transform_node = nullptr;
- if (property_trees->IsInIdToIndexMap(PropertyTrees::TreeType::TRANSFORM,
- id())) {
- transform_node = GetTransformTree().Node(
- property_trees->layer_id_to_transform_node_index[id()]);
- }
-
- EffectNode* effect_node = nullptr;
- if (property_trees->IsInIdToIndexMap(PropertyTrees::TreeType::EFFECT, id())) {
- effect_node = GetEffectTree().Node(
- property_trees->layer_id_to_effect_node_index[id()]);
- }
+ TransformNode* transform_node =
+ GetTransformTree().FindNodeFromOwningLayerId(id());
+ EffectNode* effect_node = GetEffectTree().FindNodeFromOwningLayerId(id());
for (int property = TargetProperty::FIRST_TARGET_PROPERTY;
property <= TargetProperty::LAST_TARGET_PROPERTY; ++property) {
switch (property) {
@@ -635,8 +620,7 @@ void LayerImpl::SetBoundsDelta(const gfx::Vector2dF& bounds_delta) {
// If layer is clipping, then update the clip node using the new bounds.
ClipNode* clip_node = property_trees->clip_tree.Node(clip_tree_index());
if (clip_node) {
- DCHECK(property_trees->IsInIdToIndexMap(PropertyTrees::TreeType::CLIP,
- id()));
+ DCHECK_EQ(clip_node, GetClipTree().FindNodeFromOwningLayerId(id()));
clip_node->clip = gfx::RectF(gfx::PointF() + offset_to_transform_parent(),
gfx::SizeF(bounds()));
property_trees->clip_tree.set_needs_update(true);
@@ -700,21 +684,15 @@ void LayerImpl::SetContentsOpaque(bool opaque) {
}
float LayerImpl::Opacity() const {
- PropertyTrees* property_trees = GetPropertyTrees();
- if (!property_trees->IsInIdToIndexMap(PropertyTrees::TreeType::EFFECT, id()))
+ if (EffectNode* node = GetEffectTree().FindNodeFromOwningLayerId(id()))
+ return node->opacity;
+ else
return 1.f;
- EffectNode* node =
- GetEffectTree().Node(property_trees->layer_id_to_effect_node_index[id()]);
- return node->opacity;
}
const gfx::Transform& LayerImpl::Transform() const {
- PropertyTrees* property_trees = GetPropertyTrees();
- DCHECK(property_trees->IsInIdToIndexMap(PropertyTrees::TreeType::TRANSFORM,
- id()));
- TransformNode* node = GetTransformTree().Node(
- property_trees->layer_id_to_transform_node_index[id()]);
- return node->local;
+ DCHECK_NE(GetTransformTree().FindNodeFromOwningLayerId(id()), nullptr);
+ return GetTransformTree().FindNodeFromOwningLayerId(id())->local;
}
void LayerImpl::SetElementId(ElementId element_id) {
@@ -1066,6 +1044,10 @@ PropertyTrees* LayerImpl::GetPropertyTrees() const {
return layer_tree_impl_->property_trees();
}
+ClipTree& LayerImpl::GetClipTree() const {
+ return GetPropertyTrees()->clip_tree;
+}
+
EffectTree& LayerImpl::GetEffectTree() const {
return GetPropertyTrees()->effect_tree;
}
« no previous file with comments | « cc/layers/layer_impl.h ('k') | cc/layers/render_surface_impl.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698