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

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

Issue 2769793002: Implement CSS: scroll-boundary-behavior (Closed)
Patch Set: Add documentation Created 3 years, 5 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/layer_tree_host_impl_unittest.cc ('k') | cc/trees/scroll_node.h » ('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 971 matching lines...) Expand 10 before | Expand all | Expand 10 after
982 } 982 }
983 983
984 static inline bool UserScrollableVertical(Layer* layer) { 984 static inline bool UserScrollableVertical(Layer* layer) {
985 return layer->user_scrollable_vertical(); 985 return layer->user_scrollable_vertical();
986 } 986 }
987 987
988 static inline bool UserScrollableVertical(LayerImpl* layer) { 988 static inline bool UserScrollableVertical(LayerImpl* layer) {
989 return layer->test_properties()->user_scrollable_vertical; 989 return layer->test_properties()->user_scrollable_vertical;
990 } 990 }
991 991
992 static inline ScrollBoundaryBehavior GetScrollBoundaryBehavior(Layer* layer) {
993 return layer->scroll_boundary_behavior();
994 }
995
996 static inline ScrollBoundaryBehavior GetScrollBoundaryBehavior(
997 LayerImpl* layer) {
998 return layer->test_properties()->scroll_boundary_behavior;
999 }
1000
992 template <typename LayerType> 1001 template <typename LayerType>
993 void SetHasTransformNode(LayerType* layer, bool val) { 1002 void SetHasTransformNode(LayerType* layer, bool val) {
994 layer->SetHasTransformNode(val); 1003 layer->SetHasTransformNode(val);
995 } 1004 }
996 1005
997 template <typename LayerType> 1006 template <typename LayerType>
998 void AddScrollNodeIfNeeded( 1007 void AddScrollNodeIfNeeded(
999 const DataForRecursion<LayerType>& data_from_ancestor, 1008 const DataForRecursion<LayerType>& data_from_ancestor,
1000 LayerType* layer, 1009 LayerType* layer,
1001 DataForRecursion<LayerType>* data_for_children) { 1010 DataForRecursion<LayerType>* data_for_children) {
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
1042 1051
1043 node.bounds = layer->bounds(); 1052 node.bounds = layer->bounds();
1044 node.container_bounds = layer->scroll_container_bounds(); 1053 node.container_bounds = layer->scroll_container_bounds();
1045 node.offset_to_transform_parent = layer->offset_to_transform_parent(); 1054 node.offset_to_transform_parent = layer->offset_to_transform_parent();
1046 node.should_flatten = layer->should_flatten_transform_from_property_tree(); 1055 node.should_flatten = layer->should_flatten_transform_from_property_tree();
1047 node.user_scrollable_horizontal = UserScrollableHorizontal(layer); 1056 node.user_scrollable_horizontal = UserScrollableHorizontal(layer);
1048 node.user_scrollable_vertical = UserScrollableVertical(layer); 1057 node.user_scrollable_vertical = UserScrollableVertical(layer);
1049 node.element_id = layer->element_id(); 1058 node.element_id = layer->element_id();
1050 node.transform_id = 1059 node.transform_id =
1051 data_for_children->transform_tree_parent->transform_tree_index(); 1060 data_for_children->transform_tree_parent->transform_tree_index();
1061 node.scroll_boundary_behavior = GetScrollBoundaryBehavior(layer);
1052 1062
1053 node_id = 1063 node_id =
1054 data_for_children->property_trees->scroll_tree.Insert(node, parent_id); 1064 data_for_children->property_trees->scroll_tree.Insert(node, parent_id);
1055 data_for_children->scroll_tree_parent = node_id; 1065 data_for_children->scroll_tree_parent = node_id;
1056 data_for_children->main_thread_scrolling_reasons = 1066 data_for_children->main_thread_scrolling_reasons =
1057 node.main_thread_scrolling_reasons; 1067 node.main_thread_scrolling_reasons;
1058 data_for_children->scroll_tree_parent_created_by_uninheritable_criteria = 1068 data_for_children->scroll_tree_parent_created_by_uninheritable_criteria =
1059 scroll_node_uninheritable_criteria; 1069 scroll_node_uninheritable_criteria;
1060 // For animation subsystem purposes, if this layer has a compositor element 1070 // For animation subsystem purposes, if this layer has a compositor element
1061 // id, we build a map from that id to this scroll node. 1071 // id, we build a map from that id to this scroll node.
(...skipping 303 matching lines...) Expand 10 before | Expand all | Expand 10 after
1365 root_layer, page_scale_layer, inner_viewport_scroll_layer, 1375 root_layer, page_scale_layer, inner_viewport_scroll_layer,
1366 outer_viewport_scroll_layer, overscroll_elasticity_layer, 1376 outer_viewport_scroll_layer, overscroll_elasticity_layer,
1367 elastic_overscroll, page_scale_factor, device_scale_factor, viewport, 1377 elastic_overscroll, page_scale_factor, device_scale_factor, viewport,
1368 device_transform, property_trees, color); 1378 device_transform, property_trees, color);
1369 property_trees->effect_tree.CreateOrReuseRenderSurfaces( 1379 property_trees->effect_tree.CreateOrReuseRenderSurfaces(
1370 &render_surfaces, root_layer->layer_tree_impl()); 1380 &render_surfaces, root_layer->layer_tree_impl());
1371 property_trees->ResetCachedData(); 1381 property_trees->ResetCachedData();
1372 } 1382 }
1373 1383
1374 } // namespace cc 1384 } // namespace cc
OLDNEW
« no previous file with comments | « cc/trees/layer_tree_host_impl_unittest.cc ('k') | cc/trees/scroll_node.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698