| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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/trees/property_tree_builder.h" | 5 #include "cc/trees/property_tree_builder.h" |
| 6 | 6 |
| 7 #include <stddef.h> | 7 #include <stddef.h> |
| 8 | 8 |
| 9 #include <map> | 9 #include <map> |
| 10 #include <set> | 10 #include <set> |
| (...skipping 741 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 752 // viewport bounds change, but do not unconditionally move by that delta | 752 // viewport bounds change, but do not unconditionally move by that delta |
| 753 // like fixed position nodes. | 753 // like fixed position nodes. |
| 754 if (scroll_ancestor->is_inner_viewport_scroll_layer) { | 754 if (scroll_ancestor->is_inner_viewport_scroll_layer) { |
| 755 data_for_children->property_trees->transform_tree | 755 data_for_children->property_trees->transform_tree |
| 756 .AddNodeAffectedByInnerViewportBoundsDelta(node->id); | 756 .AddNodeAffectedByInnerViewportBoundsDelta(node->id); |
| 757 } else if (scroll_ancestor->is_outer_viewport_scroll_layer) { | 757 } else if (scroll_ancestor->is_outer_viewport_scroll_layer) { |
| 758 data_for_children->property_trees->transform_tree | 758 data_for_children->property_trees->transform_tree |
| 759 .AddNodeAffectedByOuterViewportBoundsDelta(node->id); | 759 .AddNodeAffectedByOuterViewportBoundsDelta(node->id); |
| 760 } | 760 } |
| 761 } | 761 } |
| 762 sticky_data->main_thread_offset = | 762 |
| 763 layer->position().OffsetFromOrigin() - | 763 // The sticky box offset calculated in CompositedLayerMapping must be |
| 764 sticky_data->constraints.parent_relative_sticky_box_offset | 764 // adjusted for the enclosing layer's scroll position. |
| 765 .OffsetFromOrigin(); | 765 gfx::Point sticky_box_offset( |
| 766 sticky_data->constraints.parent_relative_sticky_box_offset); |
| 767 if (Parent(layer)->id() != scroll_ancestor->owning_layer_id) { |
| 768 sticky_box_offset -= gfx::ScrollOffsetToFlooredVector2d( |
| 769 data_for_children->property_trees->scroll_tree.current_scroll_offset( |
| 770 scroll_ancestor->owning_layer_id)); |
| 771 } |
| 772 |
| 773 sticky_data->main_thread_offset = layer->position().OffsetFromOrigin() - |
| 774 sticky_box_offset.OffsetFromOrigin(); |
| 766 } | 775 } |
| 767 | 776 |
| 768 node->needs_local_transform_update = true; | 777 node->needs_local_transform_update = true; |
| 769 data_from_ancestor.property_trees->transform_tree.UpdateTransforms(node->id); | 778 data_from_ancestor.property_trees->transform_tree.UpdateTransforms(node->id); |
| 770 | 779 |
| 771 layer->set_offset_to_transform_parent(gfx::Vector2dF()); | 780 layer->set_offset_to_transform_parent(gfx::Vector2dF()); |
| 772 | 781 |
| 773 // Flattening (if needed) will be handled by |node|. | 782 // Flattening (if needed) will be handled by |node|. |
| 774 layer->set_should_flatten_transform_from_property_tree(false); | 783 layer->set_should_flatten_transform_from_property_tree(false); |
| 775 | 784 |
| (...skipping 767 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1543 color = SkColorSetA(color, 255); | 1552 color = SkColorSetA(color, 255); |
| 1544 BuildPropertyTreesTopLevelInternal( | 1553 BuildPropertyTreesTopLevelInternal( |
| 1545 root_layer, page_scale_layer, inner_viewport_scroll_layer, | 1554 root_layer, page_scale_layer, inner_viewport_scroll_layer, |
| 1546 outer_viewport_scroll_layer, overscroll_elasticity_layer, | 1555 outer_viewport_scroll_layer, overscroll_elasticity_layer, |
| 1547 elastic_overscroll, page_scale_factor, device_scale_factor, viewport, | 1556 elastic_overscroll, page_scale_factor, device_scale_factor, viewport, |
| 1548 device_transform, property_trees, color); | 1557 device_transform, property_trees, color); |
| 1549 property_trees->ResetCachedData(); | 1558 property_trees->ResetCachedData(); |
| 1550 } | 1559 } |
| 1551 | 1560 |
| 1552 } // namespace cc | 1561 } // namespace cc |
| OLD | NEW |