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

Unified Diff: cc/trees/property_tree.cc

Issue 2911463002: Unify the calculation of main thread offset of sticky element (Closed)
Patch Set: Bug fix Created 3 years, 6 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « cc/trees/property_tree.h ('k') | cc/trees/property_tree_builder.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: cc/trees/property_tree.cc
diff --git a/cc/trees/property_tree.cc b/cc/trees/property_tree.cc
index 9062b15658680839196c9c464eaa6ad0669412b2..51d0d0dee7badaec3a3060052112f60b2f242a72 100644
--- a/cc/trees/property_tree.cc
+++ b/cc/trees/property_tree.cc
@@ -378,7 +378,6 @@ gfx::Vector2dF StickyPositionOffset(TransformTree* tree, TransformNode* node) {
scroll_position,
gfx::SizeF(property_trees.scroll_tree.scroll_clip_layer_bounds(
scroll_node->id)));
- gfx::Vector2dF layer_offset(sticky_data->main_thread_offset);
gfx::Vector2dF ancestor_sticky_box_offset;
if (sticky_data->nearest_node_shifting_sticky_box !=
@@ -406,7 +405,7 @@ gfx::Vector2dF StickyPositionOffset(TransformTree* tree, TransformNode* node) {
gfx::RectF(constraint.scroll_container_relative_containing_block_rect) +
ancestor_containing_block_offset;
- gfx::Vector2dF sticky_offset(sticky_box_rect.OffsetFromOrigin());
+ gfx::Vector2dF sticky_offset;
// In each of the following cases, we measure the limit which is the point
// that the element should stick to, clamping on one side to 0 (because sticky
@@ -457,14 +456,12 @@ gfx::Vector2dF StickyPositionOffset(TransformTree* tree, TransformNode* node) {
}
sticky_data->total_sticky_box_sticky_offset =
- ancestor_sticky_box_offset + sticky_offset -
- sticky_box_rect.OffsetFromOrigin();
+ ancestor_sticky_box_offset + sticky_offset;
sticky_data->total_containing_block_sticky_offset =
ancestor_sticky_box_offset + ancestor_containing_block_offset +
- sticky_offset - sticky_box_rect.OffsetFromOrigin();
+ sticky_offset;
- return sticky_offset - layer_offset - node->source_to_parent -
- sticky_box_rect.OffsetFromOrigin();
+ return sticky_offset - node->offset_for_sticky_position_from_main_thread;
}
void TransformTree::UpdateLocalTransform(TransformNode* node) {
« no previous file with comments | « cc/trees/property_tree.h ('k') | cc/trees/property_tree_builder.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698