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

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

Issue 1675963002: Move MaxScrollOffset to property_trees (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix trybot failure, remove unnecessary code Created 4 years, 10 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 23 matching lines...) Expand all
34 ScrollTree* scroll_tree; 34 ScrollTree* scroll_tree;
35 LayerType* transform_tree_parent; 35 LayerType* transform_tree_parent;
36 LayerType* transform_fixed_parent; 36 LayerType* transform_fixed_parent;
37 int render_target; 37 int render_target;
38 int clip_tree_parent; 38 int clip_tree_parent;
39 int effect_tree_parent; 39 int effect_tree_parent;
40 int scroll_tree_parent; 40 int scroll_tree_parent;
41 const LayerType* page_scale_layer; 41 const LayerType* page_scale_layer;
42 const LayerType* inner_viewport_scroll_layer; 42 const LayerType* inner_viewport_scroll_layer;
43 const LayerType* outer_viewport_scroll_layer; 43 const LayerType* outer_viewport_scroll_layer;
44 const LayerType* inner_viewport_container_layer;
45 const LayerType* outer_viewport_container_layer;
44 const LayerType* overscroll_elasticity_layer; 46 const LayerType* overscroll_elasticity_layer;
45 gfx::Vector2dF elastic_overscroll; 47 gfx::Vector2dF elastic_overscroll;
46 float page_scale_factor; 48 float page_scale_factor;
47 bool in_subtree_of_page_scale_layer; 49 bool in_subtree_of_page_scale_layer;
48 bool affected_by_inner_viewport_bounds_delta; 50 bool affected_by_inner_viewport_bounds_delta;
49 bool affected_by_outer_viewport_bounds_delta; 51 bool affected_by_outer_viewport_bounds_delta;
50 bool should_flatten; 52 bool should_flatten;
51 bool target_is_clipped; 53 bool target_is_clipped;
52 bool is_hidden; 54 bool is_hidden;
53 uint32_t main_thread_scrolling_reasons; 55 uint32_t main_thread_scrolling_reasons;
(...skipping 619 matching lines...) Expand 10 before | Expand all | Expand 10 after
673 675
674 if (!requires_node) { 676 if (!requires_node) {
675 data_for_children->scroll_tree_parent = parent_id; 677 data_for_children->scroll_tree_parent = parent_id;
676 } else { 678 } else {
677 ScrollNode node; 679 ScrollNode node;
678 node.owner_id = layer->id(); 680 node.owner_id = layer->id();
679 node.data.scrollable = scrollable; 681 node.data.scrollable = scrollable;
680 node.data.main_thread_scrolling_reasons = main_thread_scrolling_reasons; 682 node.data.main_thread_scrolling_reasons = main_thread_scrolling_reasons;
681 node.data.contains_non_fast_scrollable_region = 683 node.data.contains_non_fast_scrollable_region =
682 contains_non_fast_scrollable_region; 684 contains_non_fast_scrollable_region;
683 node.data.transform_id = 685 gfx::Size clip_bounds;
684 data_for_children->transform_tree_parent->transform_tree_index(); 686 if (layer->scroll_clip_layer()) {
687 clip_bounds = layer->scroll_clip_layer()->bounds();
688 clip_bounds.Enlarge(-layer->scroll_clip_layer()->bounds_delta().x(),
689 -layer->scroll_clip_layer()->bounds_delta().y());
690 if (layer->scroll_clip_layer()->transform_tree_index() !=
691 kInvalidPropertyTreeNodeId) {
692 node.data.envelope_page_scale_layer_with_clip_layer =
693 !data_from_ancestor.transform_tree
694 ->Node(layer->scroll_clip_layer()->transform_tree_index())
695 ->data.in_subtree_of_page_scale_layer &&
696 data_from_ancestor.in_subtree_of_page_scale_layer;
697 }
698 }
699 node.data.scroll_clip_layer_bounds = clip_bounds;
700
701 node.data.is_inner_viewport_scroll_layer =
702 layer == data_from_ancestor.inner_viewport_scroll_layer;
703 node.data.is_outer_viewport_scroll_layer =
704 layer == data_from_ancestor.outer_viewport_scroll_layer;
705 node.data.is_inner_viewport_container_layer =
706 layer == data_from_ancestor.inner_viewport_container_layer;
707 node.data.is_outer_viewport_container_layer =
708 layer == data_from_ancestor.outer_viewport_container_layer;
709
710 node.data.bounds = layer->bounds();
711 node.data.bounds.Enlarge(-layer->bounds_delta().x(),
712 -layer->bounds_delta().y());
ajuma 2016/02/09 16:27:13 Since bounds_delta is always 0 on Layer, the only
713
685 data_for_children->scroll_tree_parent = 714 data_for_children->scroll_tree_parent =
686 data_for_children->scroll_tree->Insert(node, parent_id); 715 data_for_children->scroll_tree->Insert(node, parent_id);
687 data_for_children->main_thread_scrolling_reasons = 716 data_for_children->main_thread_scrolling_reasons =
688 node.data.main_thread_scrolling_reasons; 717 node.data.main_thread_scrolling_reasons;
689 data_for_children->scroll_tree_parent_created_by_uninheritable_criteria = 718 data_for_children->scroll_tree_parent_created_by_uninheritable_criteria =
690 scroll_node_uninheritable_criteria; 719 scroll_node_uninheritable_criteria;
691 } 720 }
692 721
693 layer->SetScrollTreeIndex(data_for_children->scroll_tree_parent); 722 layer->SetScrollTreeIndex(data_for_children->scroll_tree_parent);
694 } 723 }
(...skipping 146 matching lines...) Expand 10 before | Expand all | Expand 10 after
841 data_for_recursion.scroll_tree = &property_trees->scroll_tree; 870 data_for_recursion.scroll_tree = &property_trees->scroll_tree;
842 data_for_recursion.transform_tree_parent = nullptr; 871 data_for_recursion.transform_tree_parent = nullptr;
843 data_for_recursion.transform_fixed_parent = nullptr; 872 data_for_recursion.transform_fixed_parent = nullptr;
844 data_for_recursion.render_target = kRootPropertyTreeNodeId; 873 data_for_recursion.render_target = kRootPropertyTreeNodeId;
845 data_for_recursion.clip_tree_parent = kRootPropertyTreeNodeId; 874 data_for_recursion.clip_tree_parent = kRootPropertyTreeNodeId;
846 data_for_recursion.effect_tree_parent = kInvalidPropertyTreeNodeId; 875 data_for_recursion.effect_tree_parent = kInvalidPropertyTreeNodeId;
847 data_for_recursion.scroll_tree_parent = kRootPropertyTreeNodeId; 876 data_for_recursion.scroll_tree_parent = kRootPropertyTreeNodeId;
848 data_for_recursion.page_scale_layer = page_scale_layer; 877 data_for_recursion.page_scale_layer = page_scale_layer;
849 data_for_recursion.inner_viewport_scroll_layer = inner_viewport_scroll_layer; 878 data_for_recursion.inner_viewport_scroll_layer = inner_viewport_scroll_layer;
850 data_for_recursion.outer_viewport_scroll_layer = outer_viewport_scroll_layer; 879 data_for_recursion.outer_viewport_scroll_layer = outer_viewport_scroll_layer;
880 data_for_recursion.inner_viewport_container_layer =
881 inner_viewport_scroll_layer
882 ? inner_viewport_scroll_layer->scroll_clip_layer()
883 : nullptr;
884 data_for_recursion.outer_viewport_container_layer =
885 outer_viewport_scroll_layer
886 ? outer_viewport_scroll_layer->scroll_clip_layer()
887 : nullptr;
851 data_for_recursion.overscroll_elasticity_layer = overscroll_elasticity_layer; 888 data_for_recursion.overscroll_elasticity_layer = overscroll_elasticity_layer;
852 data_for_recursion.elastic_overscroll = elastic_overscroll; 889 data_for_recursion.elastic_overscroll = elastic_overscroll;
853 data_for_recursion.page_scale_factor = page_scale_factor; 890 data_for_recursion.page_scale_factor = page_scale_factor;
854 data_for_recursion.in_subtree_of_page_scale_layer = false; 891 data_for_recursion.in_subtree_of_page_scale_layer = false;
855 data_for_recursion.affected_by_inner_viewport_bounds_delta = false; 892 data_for_recursion.affected_by_inner_viewport_bounds_delta = false;
856 data_for_recursion.affected_by_outer_viewport_bounds_delta = false; 893 data_for_recursion.affected_by_outer_viewport_bounds_delta = false;
857 data_for_recursion.should_flatten = false; 894 data_for_recursion.should_flatten = false;
858 data_for_recursion.target_is_clipped = false; 895 data_for_recursion.target_is_clipped = false;
859 data_for_recursion.is_hidden = false; 896 data_for_recursion.is_hidden = false;
860 data_for_recursion.main_thread_scrolling_reasons = 897 data_for_recursion.main_thread_scrolling_reasons =
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after
926 const gfx::Transform& device_transform, 963 const gfx::Transform& device_transform,
927 PropertyTrees* property_trees) { 964 PropertyTrees* property_trees) {
928 BuildPropertyTreesTopLevelInternal( 965 BuildPropertyTreesTopLevelInternal(
929 root_layer, page_scale_layer, inner_viewport_scroll_layer, 966 root_layer, page_scale_layer, inner_viewport_scroll_layer,
930 outer_viewport_scroll_layer, overscroll_elasticity_layer, 967 outer_viewport_scroll_layer, overscroll_elasticity_layer,
931 elastic_overscroll, page_scale_factor, device_scale_factor, viewport, 968 elastic_overscroll, page_scale_factor, device_scale_factor, viewport,
932 device_transform, property_trees); 969 device_transform, property_trees);
933 } 970 }
934 971
935 } // namespace cc 972 } // namespace cc
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698