Chromium Code Reviews| Index: cc/layers/layer.cc |
| diff --git a/cc/layers/layer.cc b/cc/layers/layer.cc |
| index 50c138fd65137f05d89f04144825278516143aff..18ba2ea4e573d8104d2ef461eb25e412f71e6737 100644 |
| --- a/cc/layers/layer.cc |
| +++ b/cc/layers/layer.cc |
| @@ -366,6 +366,8 @@ void Layer::SetBounds(const gfx::Size& size) { |
| if (!layer_tree_host_) |
| return; |
| + if (masks_to_bounds()) |
| + SetSubtreePropertyChanged(); |
| SetNeedsCommit(); |
| } |
| @@ -636,6 +638,7 @@ void Layer::SetPosition(const gfx::PointF& position) { |
| if (!layer_tree_host_) |
| return; |
| + SetSubtreePropertyChanged(); |
| if (TransformNode* transform_node = |
| layer_tree_host_->property_trees()->transform_tree.Node( |
| transform_tree_index())) { |
| @@ -643,6 +646,7 @@ void Layer::SetPosition(const gfx::PointF& position) { |
| transform_node->data.update_post_local_transform(position, |
| transform_origin()); |
| transform_node->data.needs_local_transform_update = true; |
| + transform_node->data.transform_changed = true; |
| layer_tree_host_->property_trees()->transform_tree.set_needs_update(true); |
| SetNeedsCommitNoRebuild(); |
| return; |
| @@ -721,6 +725,7 @@ void Layer::SetTransformOrigin(const gfx::Point3F& transform_origin) { |
| if (!layer_tree_host_) |
| return; |
| + SetSubtreePropertyChanged(); |
| if (TransformNode* transform_node = |
| layer_tree_host_->property_trees()->transform_tree.Node( |
| transform_tree_index())) { |
| @@ -729,6 +734,7 @@ void Layer::SetTransformOrigin(const gfx::Point3F& transform_origin) { |
| transform_node->data.update_post_local_transform(position(), |
| transform_origin); |
| transform_node->data.needs_local_transform_update = true; |
| + transform_node->data.transform_changed = true; |
| layer_tree_host_->property_trees()->transform_tree.set_needs_update(true); |
| SetNeedsCommitNoRebuild(); |
| return; |
| @@ -1372,6 +1378,11 @@ void Layer::PushPropertiesTo(LayerImpl* layer) { |
| stacking_order_changed_ = false; |
| subtree_property_changed_ = false; |
| update_rect_ = gfx::Rect(); |
| + if (TransformNode* transform_node = |
| + layer_tree_host_->property_trees()->transform_tree.Node( |
| + transform_tree_index())) { |
| + transform_node->data.transform_changed = false; |
|
ajuma
2016/02/12 23:57:03
When updating the transform tree, this gets propag
jaydasika
2016/02/16 22:30:36
Done.
|
| + } |
| needs_push_properties_ = false; |
| num_dependents_need_push_properties_ = 0; |