OLD | NEW |
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 662 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
673 | 673 |
674 if (!requires_node) { | 674 if (!requires_node) { |
675 data_for_children->scroll_tree_parent = parent_id; | 675 data_for_children->scroll_tree_parent = parent_id; |
676 } else { | 676 } else { |
677 ScrollNode node; | 677 ScrollNode node; |
678 node.owner_id = layer->id(); | 678 node.owner_id = layer->id(); |
679 node.data.scrollable = scrollable; | 679 node.data.scrollable = scrollable; |
680 node.data.main_thread_scrolling_reasons = main_thread_scrolling_reasons; | 680 node.data.main_thread_scrolling_reasons = main_thread_scrolling_reasons; |
681 node.data.contains_non_fast_scrollable_region = | 681 node.data.contains_non_fast_scrollable_region = |
682 contains_non_fast_scrollable_region; | 682 contains_non_fast_scrollable_region; |
683 node.data.transform_id = | 683 gfx::Size clip_bounds; |
684 data_for_children->transform_tree_parent->transform_tree_index(); | 684 if (layer->scroll_clip_layer()) { |
| 685 clip_bounds = layer->scroll_clip_layer()->bounds(); |
| 686 DCHECK(layer->scroll_clip_layer()->transform_tree_index() != |
| 687 kInvalidPropertyTreeNodeId); |
| 688 node.data.max_scroll_offset_affected_by_page_scale = |
| 689 !data_from_ancestor.transform_tree |
| 690 ->Node(layer->scroll_clip_layer()->transform_tree_index()) |
| 691 ->data.in_subtree_of_page_scale_layer && |
| 692 data_from_ancestor.in_subtree_of_page_scale_layer; |
| 693 } |
| 694 |
| 695 node.data.scroll_clip_layer_bounds = clip_bounds; |
| 696 node.data.is_inner_viewport_scroll_layer = |
| 697 layer == data_from_ancestor.inner_viewport_scroll_layer; |
| 698 node.data.is_outer_viewport_scroll_layer = |
| 699 layer == data_from_ancestor.outer_viewport_scroll_layer; |
| 700 |
| 701 node.data.bounds = layer->bounds(); |
| 702 |
685 data_for_children->scroll_tree_parent = | 703 data_for_children->scroll_tree_parent = |
686 data_for_children->scroll_tree->Insert(node, parent_id); | 704 data_for_children->scroll_tree->Insert(node, parent_id); |
687 data_for_children->main_thread_scrolling_reasons = | 705 data_for_children->main_thread_scrolling_reasons = |
688 node.data.main_thread_scrolling_reasons; | 706 node.data.main_thread_scrolling_reasons; |
689 data_for_children->scroll_tree_parent_created_by_uninheritable_criteria = | 707 data_for_children->scroll_tree_parent_created_by_uninheritable_criteria = |
690 scroll_node_uninheritable_criteria; | 708 scroll_node_uninheritable_criteria; |
691 } | 709 } |
692 | 710 |
693 layer->SetScrollTreeIndex(data_for_children->scroll_tree_parent); | 711 layer->SetScrollTreeIndex(data_for_children->scroll_tree_parent); |
694 } | 712 } |
(...skipping 231 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
926 const gfx::Transform& device_transform, | 944 const gfx::Transform& device_transform, |
927 PropertyTrees* property_trees) { | 945 PropertyTrees* property_trees) { |
928 BuildPropertyTreesTopLevelInternal( | 946 BuildPropertyTreesTopLevelInternal( |
929 root_layer, page_scale_layer, inner_viewport_scroll_layer, | 947 root_layer, page_scale_layer, inner_viewport_scroll_layer, |
930 outer_viewport_scroll_layer, overscroll_elasticity_layer, | 948 outer_viewport_scroll_layer, overscroll_elasticity_layer, |
931 elastic_overscroll, page_scale_factor, device_scale_factor, viewport, | 949 elastic_overscroll, page_scale_factor, device_scale_factor, viewport, |
932 device_transform, property_trees); | 950 device_transform, property_trees); |
933 } | 951 } |
934 | 952 |
935 } // namespace cc | 953 } // namespace cc |
OLD | NEW |