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_impl.h" | 5 #include "cc/trees/layer_tree_impl.h" |
6 | 6 |
7 #include <stddef.h> | 7 #include <stddef.h> |
8 #include <stdint.h> | 8 #include <stdint.h> |
9 | 9 |
10 #include <algorithm> | 10 #include <algorithm> |
(...skipping 1011 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1022 "cc", "LayerTreeImpl::UpdateDrawProperties::CalculateDrawProperties", | 1022 "cc", "LayerTreeImpl::UpdateDrawProperties::CalculateDrawProperties", |
1023 "IsActive", IsActiveTree(), "SourceFrameNumber", source_frame_number_); | 1023 "IsActive", IsActiveTree(), "SourceFrameNumber", source_frame_number_); |
1024 // TODO(crbug.com/692780): Remove this option entirely once this get to | 1024 // TODO(crbug.com/692780): Remove this option entirely once this get to |
1025 // stable and proves it works. | 1025 // stable and proves it works. |
1026 bool can_render_to_separate_surface = true; | 1026 bool can_render_to_separate_surface = true; |
1027 | 1027 |
1028 // We verify visible rect calculations whenever we verify clip tree | 1028 // We verify visible rect calculations whenever we verify clip tree |
1029 // calculations except when this function is explicitly passed a flag asking | 1029 // calculations except when this function is explicitly passed a flag asking |
1030 // us to skip it. | 1030 // us to skip it. |
1031 LayerTreeHostCommon::CalcDrawPropsImplInputs inputs( | 1031 LayerTreeHostCommon::CalcDrawPropsImplInputs inputs( |
1032 layer_list_[0], DrawViewportSize(), | 1032 layer_list_[0], DeviceViewport().size(), |
1033 layer_tree_host_impl_->DrawTransform(), device_scale_factor(), | 1033 layer_tree_host_impl_->DrawTransform(), device_scale_factor(), |
1034 current_page_scale_factor(), PageScaleLayer(), | 1034 current_page_scale_factor(), PageScaleLayer(), |
1035 InnerViewportScrollLayer(), OuterViewportScrollLayer(), | 1035 InnerViewportScrollLayer(), OuterViewportScrollLayer(), |
1036 elastic_overscroll()->Current(IsActiveTree()), | 1036 elastic_overscroll()->Current(IsActiveTree()), |
1037 OverscrollElasticityLayer(), resource_provider()->max_texture_size(), | 1037 OverscrollElasticityLayer(), resource_provider()->max_texture_size(), |
1038 can_render_to_separate_surface, | 1038 can_render_to_separate_surface, |
1039 settings().layer_transforms_should_scale_layer_contents, | 1039 settings().layer_transforms_should_scale_layer_contents, |
1040 &render_surface_list_, &property_trees_); | 1040 &render_surface_list_, &property_trees_); |
1041 LayerTreeHostCommon::CalculateDrawProperties(&inputs); | 1041 LayerTreeHostCommon::CalculateDrawProperties(&inputs); |
1042 if (const char* client_name = GetClientNameForMetrics()) { | 1042 if (const char* client_name = GetClientNameForMetrics()) { |
(...skipping 119 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1162 | 1162 |
1163 void LayerTreeImpl::BuildPropertyTreesForTesting() { | 1163 void LayerTreeImpl::BuildPropertyTreesForTesting() { |
1164 SetElementIdsForTesting(); | 1164 SetElementIdsForTesting(); |
1165 property_trees_.needs_rebuild = true; | 1165 property_trees_.needs_rebuild = true; |
1166 property_trees_.transform_tree.set_source_to_parent_updates_allowed(true); | 1166 property_trees_.transform_tree.set_source_to_parent_updates_allowed(true); |
1167 PropertyTreeBuilder::BuildPropertyTrees( | 1167 PropertyTreeBuilder::BuildPropertyTrees( |
1168 layer_list_[0], PageScaleLayer(), InnerViewportScrollLayer(), | 1168 layer_list_[0], PageScaleLayer(), InnerViewportScrollLayer(), |
1169 OuterViewportScrollLayer(), OverscrollElasticityLayer(), | 1169 OuterViewportScrollLayer(), OverscrollElasticityLayer(), |
1170 elastic_overscroll()->Current(IsActiveTree()), | 1170 elastic_overscroll()->Current(IsActiveTree()), |
1171 current_page_scale_factor(), device_scale_factor(), | 1171 current_page_scale_factor(), device_scale_factor(), |
1172 gfx::Rect(DrawViewportSize()), layer_tree_host_impl_->DrawTransform(), | 1172 gfx::Rect(DeviceViewport().size()), |
1173 &property_trees_); | 1173 layer_tree_host_impl_->DrawTransform(), &property_trees_); |
1174 property_trees_.transform_tree.set_source_to_parent_updates_allowed(false); | 1174 property_trees_.transform_tree.set_source_to_parent_updates_allowed(false); |
1175 } | 1175 } |
1176 | 1176 |
1177 const RenderSurfaceList& LayerTreeImpl::GetRenderSurfaceList() const { | 1177 const RenderSurfaceList& LayerTreeImpl::GetRenderSurfaceList() const { |
1178 // If this assert triggers, then the list is dirty. | 1178 // If this assert triggers, then the list is dirty. |
1179 DCHECK(!needs_update_draw_properties_); | 1179 DCHECK(!needs_update_draw_properties_); |
1180 return render_surface_list_; | 1180 return render_surface_list_; |
1181 } | 1181 } |
1182 | 1182 |
1183 const Region& LayerTreeImpl::UnoccludedScreenSpaceRegion() const { | 1183 const Region& LayerTreeImpl::UnoccludedScreenSpaceRegion() const { |
(...skipping 201 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1385 } | 1385 } |
1386 | 1386 |
1387 base::TimeDelta LayerTreeImpl::CurrentBeginFrameInterval() const { | 1387 base::TimeDelta LayerTreeImpl::CurrentBeginFrameInterval() const { |
1388 return layer_tree_host_impl_->CurrentBeginFrameInterval(); | 1388 return layer_tree_host_impl_->CurrentBeginFrameInterval(); |
1389 } | 1389 } |
1390 | 1390 |
1391 gfx::Rect LayerTreeImpl::DeviceViewport() const { | 1391 gfx::Rect LayerTreeImpl::DeviceViewport() const { |
1392 return layer_tree_host_impl_->DeviceViewport(); | 1392 return layer_tree_host_impl_->DeviceViewport(); |
1393 } | 1393 } |
1394 | 1394 |
1395 gfx::Size LayerTreeImpl::DrawViewportSize() const { | |
1396 return layer_tree_host_impl_->DrawViewportSize(); | |
1397 } | |
1398 | |
1399 const gfx::Rect LayerTreeImpl::ViewportRectForTilePriority() const { | 1395 const gfx::Rect LayerTreeImpl::ViewportRectForTilePriority() const { |
1400 return layer_tree_host_impl_->ViewportRectForTilePriority(); | 1396 return layer_tree_host_impl_->ViewportRectForTilePriority(); |
1401 } | 1397 } |
1402 | 1398 |
1403 std::unique_ptr<ScrollbarAnimationController> | 1399 std::unique_ptr<ScrollbarAnimationController> |
1404 LayerTreeImpl::CreateScrollbarAnimationController(ElementId scroll_element_id) { | 1400 LayerTreeImpl::CreateScrollbarAnimationController(ElementId scroll_element_id) { |
1405 DCHECK(!settings().scrollbar_fade_delay.is_zero()); | 1401 DCHECK(!settings().scrollbar_fade_delay.is_zero()); |
1406 DCHECK(!settings().scrollbar_fade_duration.is_zero()); | 1402 DCHECK(!settings().scrollbar_fade_duration.is_zero()); |
1407 base::TimeDelta fade_delay = settings().scrollbar_fade_delay; | 1403 base::TimeDelta fade_delay = settings().scrollbar_fade_delay; |
1408 base::TimeDelta fade_duration = settings().scrollbar_fade_duration; | 1404 base::TimeDelta fade_duration = settings().scrollbar_fade_duration; |
(...skipping 683 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2092 | 2088 |
2093 void LayerTreeImpl::ResetAllChangeTracking() { | 2089 void LayerTreeImpl::ResetAllChangeTracking() { |
2094 layers_that_should_push_properties_.clear(); | 2090 layers_that_should_push_properties_.clear(); |
2095 // Iterate over all layers, including masks. | 2091 // Iterate over all layers, including masks. |
2096 for (auto& layer : *layers_) | 2092 for (auto& layer : *layers_) |
2097 layer->ResetChangeTracking(); | 2093 layer->ResetChangeTracking(); |
2098 property_trees_.ResetAllChangeTracking(); | 2094 property_trees_.ResetAllChangeTracking(); |
2099 } | 2095 } |
2100 | 2096 |
2101 } // namespace cc | 2097 } // namespace cc |
OLD | NEW |