Chromium Code Reviews| Index: cc/trees/property_tree.cc |
| diff --git a/cc/trees/property_tree.cc b/cc/trees/property_tree.cc |
| index 20290755ee5a3b075b7503676c570ee3f9501c36..e7bcce95294477d1437bf65658e2fd8e9614d4c3 100644 |
| --- a/cc/trees/property_tree.cc |
| +++ b/cc/trees/property_tree.cc |
| @@ -218,6 +218,28 @@ bool TransformTree::ComputeTranslation(int source_id, |
| return true; |
| } |
| +void TransformTree::OnTransformAnimated(const gfx::Transform& transform, |
| + int id, |
| + LayerTreeImpl* layer_tree_impl) { |
| + TransformNode* node = Node(id); |
| + layer_tree_impl->AddToTransformAnimationsMap(node->owner_id, transform); |
| + if (node->local == transform) { |
| + return; |
| + } |
| + node->local = transform; |
| + node->needs_local_transform_update = true; |
| + node->transform_changed = true; |
| + property_trees()->changed = true; |
| + set_needs_update(true); |
| + layer_tree_impl->set_needs_update_draw_properties(); |
| + // TODO(ajuma): The current criteria for creating clip nodes means that |
| + // property trees may need to be rebuilt when the new transform isn't |
| + // axis-aligned wrt the old transform (see Layer::SetTransform). Since |
| + // rebuilding property trees every frame of a transform animation is |
| + // something we should try to avoid, change property tree-building so that |
| + // it doesn't depend on axis aliginment. |
|
ajuma
2016/08/23 23:40:12
I think this TODO is obsolete now, since we don't
jaydasika
2016/08/24 00:13:42
Removed!
|
| +} |
| + |
| bool TransformTree::NeedsSourceToParentUpdate(TransformNode* node) { |
| return (source_to_parent_updates_allowed() && |
| node->parent_id != node->source_node_id); |
| @@ -917,6 +939,7 @@ void EffectTree::OnOpacityAnimated(float opacity, |
| int id, |
| LayerTreeImpl* layer_tree_impl) { |
| EffectNode* node = Node(id); |
| + layer_tree_impl->AddToOpacityAnimationsMap(node->owner_id, opacity); |
| if (node->opacity == opacity) |
| return; |
| node->opacity = opacity; |
| @@ -924,7 +947,6 @@ void EffectTree::OnOpacityAnimated(float opacity, |
| property_trees()->changed = true; |
| property_trees()->effect_tree.set_needs_update(true); |
| layer_tree_impl->set_needs_update_draw_properties(); |
| - layer_tree_impl->AddToOpacityAnimationsMap(node->owner_id, opacity); |
| } |
| void EffectTree::UpdateEffects(int id) { |