| OLD | NEW |
| 1 // Copyright 2011 The Chromium Authors. All rights reserved. | 1 // Copyright 2011 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/layer_tree_host_common.h" | 5 #include "cc/trees/layer_tree_host_common.h" |
| 6 | 6 |
| 7 #include <stddef.h> | 7 #include <stddef.h> |
| 8 | 8 |
| 9 #include <algorithm> | 9 #include <algorithm> |
| 10 | 10 |
| 11 #include "base/trace_event/trace_event.h" | 11 #include "base/trace_event/trace_event.h" |
| 12 #include "cc/base/math_util.h" | 12 #include "cc/base/math_util.h" |
| 13 #include "cc/layers/heads_up_display_layer_impl.h" | 13 #include "cc/layers/heads_up_display_layer_impl.h" |
| 14 #include "cc/layers/layer.h" | 14 #include "cc/layers/layer.h" |
| 15 #include "cc/layers/layer_impl.h" | 15 #include "cc/layers/layer_impl.h" |
| 16 #include "cc/layers/layer_iterator.h" | 16 #include "cc/layers/layer_iterator.h" |
| 17 #include "cc/proto/begin_main_frame_and_commit_state.pb.h" | 17 #include "cc/proto/begin_main_frame_and_commit_state.pb.h" |
| 18 #include "cc/proto/gfx_conversions.h" | 18 #include "cc/proto/gfx_conversions.h" |
| 19 #include "cc/trees/draw_property_utils.h" | 19 #include "cc/trees/draw_property_utils.h" |
| 20 #include "cc/trees/layer_tree_host.h" | 20 #include "cc/trees/layer_tree_host.h" |
| 21 #include "cc/trees/layer_tree_impl.h" | 21 #include "cc/trees/layer_tree_impl.h" |
| 22 #include "cc/trees/property_tree_builder.h" |
| 22 #include "ui/gfx/geometry/rect_conversions.h" | 23 #include "ui/gfx/geometry/rect_conversions.h" |
| 23 #include "ui/gfx/geometry/vector2d_conversions.h" | 24 #include "ui/gfx/geometry/vector2d_conversions.h" |
| 24 #include "ui/gfx/transform.h" | 25 #include "ui/gfx/transform.h" |
| 25 #include "ui/gfx/transform_util.h" | 26 #include "ui/gfx/transform_util.h" |
| 26 | 27 |
| 27 namespace cc { | 28 namespace cc { |
| 28 | 29 |
| 29 LayerTreeHostCommon::CalcDrawPropsMainInputsForTesting:: | 30 LayerTreeHostCommon::CalcDrawPropsMainInputsForTesting:: |
| 30 CalcDrawPropsMainInputsForTesting(Layer* root_layer, | 31 CalcDrawPropsMainInputsForTesting(Layer* root_layer, |
| 31 const gfx::Size& device_viewport_size, | 32 const gfx::Size& device_viewport_size, |
| (...skipping 1000 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1032 } | 1033 } |
| 1033 | 1034 |
| 1034 void LayerTreeHostCommon::CalculateDrawPropertiesForTesting( | 1035 void LayerTreeHostCommon::CalculateDrawPropertiesForTesting( |
| 1035 CalcDrawPropsMainInputsForTesting* inputs) { | 1036 CalcDrawPropsMainInputsForTesting* inputs) { |
| 1036 LayerList update_layer_list; | 1037 LayerList update_layer_list; |
| 1037 bool can_render_to_separate_surface = true; | 1038 bool can_render_to_separate_surface = true; |
| 1038 PropertyTrees* property_trees = | 1039 PropertyTrees* property_trees = |
| 1039 inputs->root_layer->layer_tree_host()->property_trees(); | 1040 inputs->root_layer->layer_tree_host()->property_trees(); |
| 1040 Layer* overscroll_elasticity_layer = nullptr; | 1041 Layer* overscroll_elasticity_layer = nullptr; |
| 1041 gfx::Vector2dF elastic_overscroll; | 1042 gfx::Vector2dF elastic_overscroll; |
| 1042 draw_property_utils::BuildPropertyTreesAndComputeVisibleRects( | 1043 PropertyTreeBuilder::BuildPropertyTrees( |
| 1043 inputs->root_layer, inputs->page_scale_layer, | 1044 inputs->root_layer, inputs->page_scale_layer, |
| 1044 inputs->inner_viewport_scroll_layer, inputs->outer_viewport_scroll_layer, | 1045 inputs->inner_viewport_scroll_layer, inputs->outer_viewport_scroll_layer, |
| 1045 overscroll_elasticity_layer, elastic_overscroll, | 1046 overscroll_elasticity_layer, elastic_overscroll, |
| 1046 inputs->page_scale_factor, inputs->device_scale_factor, | 1047 inputs->page_scale_factor, inputs->device_scale_factor, |
| 1047 gfx::Rect(inputs->device_viewport_size), inputs->device_transform, | 1048 gfx::Rect(inputs->device_viewport_size), inputs->device_transform, |
| 1048 can_render_to_separate_surface, property_trees, &update_layer_list); | 1049 property_trees); |
| 1050 draw_property_utils::UpdateRenderSurfaces(inputs->root_layer, property_trees); |
| 1051 draw_property_utils::UpdatePropertyTrees(property_trees, |
| 1052 can_render_to_separate_surface); |
| 1053 draw_property_utils::FindLayersThatNeedUpdates( |
| 1054 inputs->root_layer, property_trees->transform_tree, |
| 1055 property_trees->effect_tree, &update_layer_list); |
| 1056 draw_property_utils::ComputeVisibleRectsForTesting( |
| 1057 property_trees, can_render_to_separate_surface, &update_layer_list); |
| 1049 } | 1058 } |
| 1050 | 1059 |
| 1051 void LayerTreeHostCommon::CalculateDrawProperties( | 1060 void LayerTreeHostCommon::CalculateDrawProperties( |
| 1052 CalcDrawPropsImplInputs* inputs) { | 1061 CalcDrawPropsImplInputs* inputs) { |
| 1053 CalculateDrawPropertiesInternal(inputs, DONT_BUILD_PROPERTY_TREES); | 1062 CalculateDrawPropertiesInternal(inputs, DONT_BUILD_PROPERTY_TREES); |
| 1054 | 1063 |
| 1055 if (CdpPerfTracingEnabled()) { | 1064 if (CdpPerfTracingEnabled()) { |
| 1056 LayerTreeImpl* layer_tree_impl = inputs->root_layer->layer_tree_impl(); | 1065 LayerTreeImpl* layer_tree_impl = inputs->root_layer->layer_tree_impl(); |
| 1057 if (layer_tree_impl->IsPendingTree() && | 1066 if (layer_tree_impl->IsPendingTree() && |
| 1058 layer_tree_impl->is_first_frame_after_commit()) { | 1067 layer_tree_impl->is_first_frame_after_commit()) { |
| (...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1107 | 1116 |
| 1108 PropertyTrees* GetPropertyTrees(Layer* layer) { | 1117 PropertyTrees* GetPropertyTrees(Layer* layer) { |
| 1109 return layer->layer_tree_host()->property_trees(); | 1118 return layer->layer_tree_host()->property_trees(); |
| 1110 } | 1119 } |
| 1111 | 1120 |
| 1112 PropertyTrees* GetPropertyTrees(LayerImpl* layer) { | 1121 PropertyTrees* GetPropertyTrees(LayerImpl* layer) { |
| 1113 return layer->layer_tree_impl()->property_trees(); | 1122 return layer->layer_tree_impl()->property_trees(); |
| 1114 } | 1123 } |
| 1115 | 1124 |
| 1116 } // namespace cc | 1125 } // namespace cc |
| OLD | NEW |