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

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

Issue 2451183002: Add sticky nodes affected by inner and outer viewport bounds deltas. (Closed)
Patch Set: Merge with master. Created 4 years, 1 month 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
« no previous file with comments | « cc/trees/layer_tree_host_common_unittest.cc ('k') | cc/trees/property_tree_builder.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 <stddef.h> 5 #include <stddef.h>
6 6
7 #include <set> 7 #include <set>
8 #include <vector> 8 #include <vector>
9 9
10 #include "base/logging.h" 10 #include "base/logging.h"
(...skipping 517 matching lines...) Expand 10 before | Expand all | Expand 10 after
528 parent_node->id == node->source_node_id); 528 parent_node->id == node->source_node_id);
529 to_parent.Translate(unsnapping.x(), unsnapping.y()); 529 to_parent.Translate(unsnapping.x(), unsnapping.y());
530 node->source_to_parent = to_parent.To2dTranslation(); 530 node->source_to_parent = to_parent.To2dTranslation();
531 } 531 }
532 532
533 gfx::Vector2dF fixed_position_adjustment; 533 gfx::Vector2dF fixed_position_adjustment;
534 gfx::Vector2dF inner_viewport_bounds_delta = 534 gfx::Vector2dF inner_viewport_bounds_delta =
535 property_trees()->inner_viewport_container_bounds_delta(); 535 property_trees()->inner_viewport_container_bounds_delta();
536 gfx::Vector2dF outer_viewport_bounds_delta = 536 gfx::Vector2dF outer_viewport_bounds_delta =
537 property_trees()->outer_viewport_container_bounds_delta(); 537 property_trees()->outer_viewport_container_bounds_delta();
538 if (node->affected_by_inner_viewport_bounds_delta_x) 538 if (node->moved_by_inner_viewport_bounds_delta_x)
539 fixed_position_adjustment.set_x(inner_viewport_bounds_delta.x()); 539 fixed_position_adjustment.set_x(inner_viewport_bounds_delta.x());
540 else if (node->affected_by_outer_viewport_bounds_delta_x) 540 else if (node->moved_by_outer_viewport_bounds_delta_x)
541 fixed_position_adjustment.set_x(outer_viewport_bounds_delta.x()); 541 fixed_position_adjustment.set_x(outer_viewport_bounds_delta.x());
542 542
543 if (node->affected_by_inner_viewport_bounds_delta_y) 543 if (node->moved_by_inner_viewport_bounds_delta_y)
544 fixed_position_adjustment.set_y(inner_viewport_bounds_delta.y()); 544 fixed_position_adjustment.set_y(inner_viewport_bounds_delta.y());
545 else if (node->affected_by_outer_viewport_bounds_delta_y) 545 else if (node->moved_by_outer_viewport_bounds_delta_y)
546 fixed_position_adjustment.set_y(outer_viewport_bounds_delta.y()); 546 fixed_position_adjustment.set_y(outer_viewport_bounds_delta.y());
547 547
548 transform.Translate(node->source_to_parent.x() - node->scroll_offset.x() + 548 transform.Translate(node->source_to_parent.x() - node->scroll_offset.x() +
549 fixed_position_adjustment.x(), 549 fixed_position_adjustment.x(),
550 node->source_to_parent.y() - node->scroll_offset.y() + 550 node->source_to_parent.y() - node->scroll_offset.y() +
551 fixed_position_adjustment.y()); 551 fixed_position_adjustment.y());
552 transform.Translate(StickyPositionOffset(this, node)); 552 transform.Translate(StickyPositionOffset(this, node));
553 transform.PreconcatTransform(node->local); 553 transform.PreconcatTransform(node->local);
554 transform.PreconcatTransform(node->pre_local); 554 transform.PreconcatTransform(node->pre_local);
555 555
(...skipping 1693 matching lines...) Expand 10 before | Expand all | Expand 10 after
2249 2249
2250 const EffectNode* effect_node = effect_tree.Node(effect_id); 2250 const EffectNode* effect_node = effect_tree.Node(effect_id);
2251 2251
2252 bool success = GetFromTarget(transform_id, effect_id, transform); 2252 bool success = GetFromTarget(transform_id, effect_id, transform);
2253 transform->Scale(effect_node->surface_contents_scale.x(), 2253 transform->Scale(effect_node->surface_contents_scale.x(),
2254 effect_node->surface_contents_scale.y()); 2254 effect_node->surface_contents_scale.y());
2255 return success; 2255 return success;
2256 } 2256 }
2257 2257
2258 } // namespace cc 2258 } // namespace cc
OLDNEW
« no previous file with comments | « cc/trees/layer_tree_host_common_unittest.cc ('k') | cc/trees/property_tree_builder.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698