Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(269)

Side by Side Diff: cc/trees/property_tree_builder.cc

Issue 2401903002: Compute and include the offset of the sticky box to its enclosing composited layer. (Closed)
Patch Set: Merge with master and fix long line. Created 4 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 681 matching lines...) Expand 10 before | Expand all | Expand 10 after
692 node->update_pre_local_transform(TransformOrigin(layer)); 692 node->update_pre_local_transform(TransformOrigin(layer));
693 693
694 if (StickyPositionConstraint(layer).is_sticky) { 694 if (StickyPositionConstraint(layer).is_sticky) {
695 StickyPositionNodeData* sticky_data = 695 StickyPositionNodeData* sticky_data =
696 data_for_children->property_trees->transform_tree.StickyPositionData( 696 data_for_children->property_trees->transform_tree.StickyPositionData(
697 node->id); 697 node->id);
698 sticky_data->constraints = StickyPositionConstraint(layer); 698 sticky_data->constraints = StickyPositionConstraint(layer);
699 sticky_data->scroll_ancestor = GetScrollParentId(data_from_ancestor, layer); 699 sticky_data->scroll_ancestor = GetScrollParentId(data_from_ancestor, layer);
700 sticky_data->main_thread_offset = 700 sticky_data->main_thread_offset =
701 layer->position().OffsetFromOrigin() - 701 layer->position().OffsetFromOrigin() -
702 sticky_data->constraints.scroll_container_relative_sticky_box_rect 702 sticky_data->constraints.parent_relative_sticky_box_offset
703 .OffsetFromOrigin(); 703 .OffsetFromOrigin();
704 } 704 }
705 705
706 node->needs_local_transform_update = true; 706 node->needs_local_transform_update = true;
707 data_from_ancestor.property_trees->transform_tree.UpdateTransforms(node->id); 707 data_from_ancestor.property_trees->transform_tree.UpdateTransforms(node->id);
708 708
709 layer->set_offset_to_transform_parent(gfx::Vector2dF()); 709 layer->set_offset_to_transform_parent(gfx::Vector2dF());
710 710
711 // Flattening (if needed) will be handled by |node|. 711 // Flattening (if needed) will be handled by |node|.
712 layer->set_should_flatten_transform_from_property_tree(false); 712 layer->set_should_flatten_transform_from_property_tree(false);
(...skipping 765 matching lines...) Expand 10 before | Expand all | Expand 10 after
1478 color = SkColorSetA(color, 255); 1478 color = SkColorSetA(color, 255);
1479 BuildPropertyTreesTopLevelInternal( 1479 BuildPropertyTreesTopLevelInternal(
1480 root_layer, page_scale_layer, inner_viewport_scroll_layer, 1480 root_layer, page_scale_layer, inner_viewport_scroll_layer,
1481 outer_viewport_scroll_layer, overscroll_elasticity_layer, 1481 outer_viewport_scroll_layer, overscroll_elasticity_layer,
1482 elastic_overscroll, page_scale_factor, device_scale_factor, viewport, 1482 elastic_overscroll, page_scale_factor, device_scale_factor, viewport,
1483 device_transform, property_trees, color); 1483 device_transform, property_trees, color);
1484 property_trees->ResetCachedData(); 1484 property_trees->ResetCachedData();
1485 } 1485 }
1486 1486
1487 } // namespace cc 1487 } // namespace cc
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698