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

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

Issue 2189583004: [not for review - epic CL] Adding Elastic+Momentum+Layered scrolling to views::ScrollView Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rebase 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
« no previous file with comments | « cc/trees/property_tree.cc ('k') | cc/trees/property_tree_unittest.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 "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 640 matching lines...) Expand 10 before | Expand all | Expand 10 after
651 data_for_children->property_trees->transform_tree 651 data_for_children->property_trees->transform_tree
652 .SetDeviceTransformScaleFactor(*data_from_ancestor.device_transform); 652 .SetDeviceTransformScaleFactor(*data_from_ancestor.device_transform);
653 } else { 653 } else {
654 node->source_offset = source_offset; 654 node->source_offset = source_offset;
655 node->update_post_local_transform(layer->position(), 655 node->update_post_local_transform(layer->position(),
656 TransformOrigin(layer)); 656 TransformOrigin(layer));
657 } 657 }
658 658
659 if (is_overscroll_elasticity_layer) { 659 if (is_overscroll_elasticity_layer) {
660 DCHECK(!is_scrollable); 660 DCHECK(!is_scrollable);
661 node->scroll_offset = 661 node->scroll_offset_with_overscroll =
662 gfx::ScrollOffset(data_from_ancestor.elastic_overscroll); 662 gfx::ScrollOffset(data_from_ancestor.elastic_overscroll);
663 } else if (!ScrollParent(layer)) { 663 } else if (!ScrollParent(layer)) {
664 node->scroll_offset = layer->CurrentScrollOffset(); 664 node->scroll_offset_with_overscroll =
665 layer->CurrentScrollOffset() + layer->CurrentOverscroll();
665 } 666 }
666 667
667 if (is_fixed) { 668 if (is_fixed) {
668 if (data_from_ancestor.affected_by_inner_viewport_bounds_delta) { 669 if (data_from_ancestor.affected_by_inner_viewport_bounds_delta) {
669 node->affected_by_inner_viewport_bounds_delta_x = 670 node->affected_by_inner_viewport_bounds_delta_x =
670 PositionConstraint(layer).is_fixed_to_right_edge(); 671 PositionConstraint(layer).is_fixed_to_right_edge();
671 node->affected_by_inner_viewport_bounds_delta_y = 672 node->affected_by_inner_viewport_bounds_delta_y =
672 PositionConstraint(layer).is_fixed_to_bottom_edge(); 673 PositionConstraint(layer).is_fixed_to_bottom_edge();
673 if (node->affected_by_inner_viewport_bounds_delta_x || 674 if (node->affected_by_inner_viewport_bounds_delta_x ||
674 node->affected_by_inner_viewport_bounds_delta_y) { 675 node->affected_by_inner_viewport_bounds_delta_y) {
(...skipping 458 matching lines...) Expand 10 before | Expand all | Expand 10 after
1133 data_for_children->property_trees->scroll_tree.Insert(node, parent_id); 1134 data_for_children->property_trees->scroll_tree.Insert(node, parent_id);
1134 data_for_children->main_thread_scrolling_reasons = 1135 data_for_children->main_thread_scrolling_reasons =
1135 node.main_thread_scrolling_reasons; 1136 node.main_thread_scrolling_reasons;
1136 data_for_children->scroll_tree_parent_created_by_uninheritable_criteria = 1137 data_for_children->scroll_tree_parent_created_by_uninheritable_criteria =
1137 scroll_node_uninheritable_criteria; 1138 scroll_node_uninheritable_criteria;
1138 data_for_children->property_trees->scroll_id_to_index_map[layer->id()] = 1139 data_for_children->property_trees->scroll_id_to_index_map[layer->id()] =
1139 data_for_children->scroll_tree_parent; 1140 data_for_children->scroll_tree_parent;
1140 1141
1141 if (node.scrollable) { 1142 if (node.scrollable) {
1142 data_for_children->property_trees->scroll_tree.SetBaseScrollOffset( 1143 data_for_children->property_trees->scroll_tree.SetBaseScrollOffset(
1143 layer->id(), layer->CurrentScrollOffset()); 1144 layer->id(), layer->CurrentScrollOffset(),
1145 layer->CurrentOverscroll());
1144 } 1146 }
1145 } 1147 }
1146 1148
1147 layer->SetScrollTreeIndex(data_for_children->scroll_tree_parent); 1149 layer->SetScrollTreeIndex(data_for_children->scroll_tree_parent);
1148 } 1150 }
1149 1151
1150 template <typename LayerType> 1152 template <typename LayerType>
1151 void SetBackfaceVisibilityTransform(LayerType* layer, 1153 void SetBackfaceVisibilityTransform(LayerType* layer,
1152 bool created_transform_node) { 1154 bool created_transform_node) {
1153 const bool is_at_boundary_of_3d_rendering_context = 1155 const bool is_at_boundary_of_3d_rendering_context =
(...skipping 324 matching lines...) Expand 10 before | Expand all | Expand 10 after
1478 color = SkColorSetA(color, 255); 1480 color = SkColorSetA(color, 255);
1479 BuildPropertyTreesTopLevelInternal( 1481 BuildPropertyTreesTopLevelInternal(
1480 root_layer, page_scale_layer, inner_viewport_scroll_layer, 1482 root_layer, page_scale_layer, inner_viewport_scroll_layer,
1481 outer_viewport_scroll_layer, overscroll_elasticity_layer, 1483 outer_viewport_scroll_layer, overscroll_elasticity_layer,
1482 elastic_overscroll, page_scale_factor, device_scale_factor, viewport, 1484 elastic_overscroll, page_scale_factor, device_scale_factor, viewport,
1483 device_transform, property_trees, color); 1485 device_transform, property_trees, color);
1484 property_trees->ResetCachedData(); 1486 property_trees->ResetCachedData();
1485 } 1487 }
1486 1488
1487 } // namespace cc 1489 } // namespace cc
OLDNEW
« no previous file with comments | « cc/trees/property_tree.cc ('k') | cc/trees/property_tree_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698