| 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;
|
| }
|
|
|