| OLD | NEW |
| 1 // Copyright 2010 The Chromium Authors. All rights reserved. | 1 // Copyright 2010 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "cc/layers/layer.h" | 5 #include "cc/layers/layer.h" |
| 6 | 6 |
| 7 #include <stddef.h> | 7 #include <stddef.h> |
| 8 #include <stdint.h> | 8 #include <stdint.h> |
| 9 | 9 |
| 10 #include <algorithm> | 10 #include <algorithm> |
| (...skipping 564 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 575 SetSubtreePropertyChanged(); | 575 SetSubtreePropertyChanged(); |
| 576 PropertyTrees* property_trees = layer_tree_host_->property_trees(); | 576 PropertyTrees* property_trees = layer_tree_host_->property_trees(); |
| 577 if (TransformNode* transform_node = | 577 if (TransformNode* transform_node = |
| 578 property_trees->transform_tree.FindNodeFromOwningLayerId(id())) { | 578 property_trees->transform_tree.FindNodeFromOwningLayerId(id())) { |
| 579 DCHECK_EQ(transform_tree_index(), transform_node->id); | 579 DCHECK_EQ(transform_tree_index(), transform_node->id); |
| 580 transform_node->update_post_local_transform(position, transform_origin()); | 580 transform_node->update_post_local_transform(position, transform_origin()); |
| 581 if (transform_node->sticky_position_constraint_id >= 0) { | 581 if (transform_node->sticky_position_constraint_id >= 0) { |
| 582 StickyPositionNodeData* sticky_data = | 582 StickyPositionNodeData* sticky_data = |
| 583 property_trees->transform_tree.StickyPositionData( | 583 property_trees->transform_tree.StickyPositionData( |
| 584 transform_tree_index()); | 584 transform_tree_index()); |
| 585 // TODO(smcgruer): Pass main thread sticky-shifting offsets of |
| 586 // non-promoted ancestors, or promote all ancestor sticky elements. |
| 587 // See http://crbug.com/702229 |
| 585 sticky_data->main_thread_offset = | 588 sticky_data->main_thread_offset = |
| 586 position.OffsetFromOrigin() - | 589 position.OffsetFromOrigin() - |
| 587 sticky_data->constraints.parent_relative_sticky_box_offset | 590 sticky_data->constraints.parent_relative_sticky_box_offset |
| 588 .OffsetFromOrigin(); | 591 .OffsetFromOrigin(); |
| 589 } | 592 } |
| 590 transform_node->needs_local_transform_update = true; | 593 transform_node->needs_local_transform_update = true; |
| 591 transform_node->transform_changed = true; | 594 transform_node->transform_changed = true; |
| 592 layer_tree_host_->property_trees()->transform_tree.set_needs_update(true); | 595 layer_tree_host_->property_trees()->transform_tree.set_needs_update(true); |
| 593 SetNeedsCommitNoRebuild(); | 596 SetNeedsCommitNoRebuild(); |
| 594 return; | 597 return; |
| (...skipping 884 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1479 ->num_copy_requests_in_subtree; | 1482 ->num_copy_requests_in_subtree; |
| 1480 } | 1483 } |
| 1481 | 1484 |
| 1482 gfx::Transform Layer::screen_space_transform() const { | 1485 gfx::Transform Layer::screen_space_transform() const { |
| 1483 DCHECK_NE(transform_tree_index_, TransformTree::kInvalidNodeId); | 1486 DCHECK_NE(transform_tree_index_, TransformTree::kInvalidNodeId); |
| 1484 return draw_property_utils::ScreenSpaceTransform( | 1487 return draw_property_utils::ScreenSpaceTransform( |
| 1485 this, layer_tree_host_->property_trees()->transform_tree); | 1488 this, layer_tree_host_->property_trees()->transform_tree); |
| 1486 } | 1489 } |
| 1487 | 1490 |
| 1488 } // namespace cc | 1491 } // namespace cc |
| OLD | NEW |