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

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: Combined rebase Created 4 years, 4 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 635 matching lines...) Expand 10 before | Expand all | Expand 10 after
646 data_for_children->property_trees->transform_tree 646 data_for_children->property_trees->transform_tree
647 .SetDeviceTransformScaleFactor(*data_from_ancestor.device_transform); 647 .SetDeviceTransformScaleFactor(*data_from_ancestor.device_transform);
648 } else { 648 } else {
649 node->source_offset = source_offset; 649 node->source_offset = source_offset;
650 node->update_post_local_transform(layer->position(), 650 node->update_post_local_transform(layer->position(),
651 TransformOrigin(layer)); 651 TransformOrigin(layer));
652 } 652 }
653 653
654 if (is_overscroll_elasticity_layer) { 654 if (is_overscroll_elasticity_layer) {
655 DCHECK(!is_scrollable); 655 DCHECK(!is_scrollable);
656 node->scroll_offset = 656 node->scroll_offset_with_overscroll =
657 gfx::ScrollOffset(data_from_ancestor.elastic_overscroll); 657 gfx::ScrollOffset(data_from_ancestor.elastic_overscroll);
658 } else if (!ScrollParent(layer)) { 658 } else if (!ScrollParent(layer)) {
659 node->scroll_offset = layer->CurrentScrollOffset(); 659 node->scroll_offset_with_overscroll =
660 layer->CurrentScrollOffset() + layer->CurrentOverscroll();
660 } 661 }
661 662
662 if (is_fixed) { 663 if (is_fixed) {
663 if (data_from_ancestor.affected_by_inner_viewport_bounds_delta) { 664 if (data_from_ancestor.affected_by_inner_viewport_bounds_delta) {
664 node->affected_by_inner_viewport_bounds_delta_x = 665 node->affected_by_inner_viewport_bounds_delta_x =
665 PositionConstraint(layer).is_fixed_to_right_edge(); 666 PositionConstraint(layer).is_fixed_to_right_edge();
666 node->affected_by_inner_viewport_bounds_delta_y = 667 node->affected_by_inner_viewport_bounds_delta_y =
667 PositionConstraint(layer).is_fixed_to_bottom_edge(); 668 PositionConstraint(layer).is_fixed_to_bottom_edge();
668 if (node->affected_by_inner_viewport_bounds_delta_x || 669 if (node->affected_by_inner_viewport_bounds_delta_x ||
669 node->affected_by_inner_viewport_bounds_delta_y) { 670 node->affected_by_inner_viewport_bounds_delta_y) {
(...skipping 441 matching lines...) Expand 10 before | Expand all | Expand 10 after
1111 data_for_children->property_trees->scroll_tree.Insert(node, parent_id); 1112 data_for_children->property_trees->scroll_tree.Insert(node, parent_id);
1112 data_for_children->main_thread_scrolling_reasons = 1113 data_for_children->main_thread_scrolling_reasons =
1113 node.main_thread_scrolling_reasons; 1114 node.main_thread_scrolling_reasons;
1114 data_for_children->scroll_tree_parent_created_by_uninheritable_criteria = 1115 data_for_children->scroll_tree_parent_created_by_uninheritable_criteria =
1115 scroll_node_uninheritable_criteria; 1116 scroll_node_uninheritable_criteria;
1116 data_for_children->property_trees->scroll_id_to_index_map[layer->id()] = 1117 data_for_children->property_trees->scroll_id_to_index_map[layer->id()] =
1117 data_for_children->scroll_tree_parent; 1118 data_for_children->scroll_tree_parent;
1118 1119
1119 if (node.scrollable) { 1120 if (node.scrollable) {
1120 data_for_children->property_trees->scroll_tree.SetBaseScrollOffset( 1121 data_for_children->property_trees->scroll_tree.SetBaseScrollOffset(
1121 layer->id(), layer->CurrentScrollOffset()); 1122 layer->id(), layer->CurrentScrollOffset(),
1123 layer->CurrentOverscroll());
1122 } 1124 }
1123 } 1125 }
1124 1126
1125 layer->SetScrollTreeIndex(data_for_children->scroll_tree_parent); 1127 layer->SetScrollTreeIndex(data_for_children->scroll_tree_parent);
1126 } 1128 }
1127 1129
1128 template <typename LayerType> 1130 template <typename LayerType>
1129 void SetBackfaceVisibilityTransform(LayerType* layer, 1131 void SetBackfaceVisibilityTransform(LayerType* layer,
1130 bool created_transform_node) { 1132 bool created_transform_node) {
1131 const bool is_at_boundary_of_3d_rendering_context = 1133 const bool is_at_boundary_of_3d_rendering_context =
(...skipping 340 matching lines...) Expand 10 before | Expand all | Expand 10 after
1472 color = SkColorSetA(color, 255); 1474 color = SkColorSetA(color, 255);
1473 BuildPropertyTreesTopLevelInternal( 1475 BuildPropertyTreesTopLevelInternal(
1474 root_layer, page_scale_layer, inner_viewport_scroll_layer, 1476 root_layer, page_scale_layer, inner_viewport_scroll_layer,
1475 outer_viewport_scroll_layer, overscroll_elasticity_layer, 1477 outer_viewport_scroll_layer, overscroll_elasticity_layer,
1476 elastic_overscroll, page_scale_factor, device_scale_factor, viewport, 1478 elastic_overscroll, page_scale_factor, device_scale_factor, viewport,
1477 device_transform, property_trees, color); 1479 device_transform, property_trees, color);
1478 property_trees->ResetCachedData(); 1480 property_trees->ResetCachedData();
1479 } 1481 }
1480 1482
1481 } // namespace cc 1483 } // namespace cc
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698