| 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 |
| (...skipping 165 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 176 } | 176 } |
| 177 | 177 |
| 178 ScrollAndScaleSet::ScrollAndScaleSet() | 178 ScrollAndScaleSet::ScrollAndScaleSet() |
| 179 : page_scale_delta(1.f), | 179 : page_scale_delta(1.f), |
| 180 top_controls_delta(0.f), | 180 top_controls_delta(0.f), |
| 181 has_scrolled_by_wheel(false), | 181 has_scrolled_by_wheel(false), |
| 182 has_scrolled_by_touch(false) {} | 182 has_scrolled_by_touch(false) {} |
| 183 | 183 |
| 184 ScrollAndScaleSet::~ScrollAndScaleSet() {} | 184 ScrollAndScaleSet::~ScrollAndScaleSet() {} |
| 185 | 185 |
| 186 static inline void SetMaskLayersAreDrawnRenderSurfaceLayerListMembers( | 186 static inline void SetMaskLayersContributeToDrawnRenderSurface( |
| 187 RenderSurfaceImpl* surface, | 187 RenderSurfaceImpl* surface, |
| 188 PropertyTrees* property_trees) { | 188 PropertyTrees* property_trees) { |
| 189 LayerImpl* mask_layer = surface->MaskLayer(); | 189 LayerImpl* mask_layer = surface->MaskLayer(); |
| 190 if (mask_layer) { | 190 if (mask_layer) { |
| 191 mask_layer->set_is_drawn_render_surface_layer_list_member(true); | 191 mask_layer->set_contributes_to_drawn_render_surface(true); |
| 192 draw_property_utils::ComputeMaskDrawProperties(mask_layer, property_trees); | 192 draw_property_utils::ComputeMaskDrawProperties(mask_layer, property_trees); |
| 193 } | 193 } |
| 194 } | 194 } |
| 195 | 195 |
| 196 static inline void ClearMaskLayersAreDrawnRenderSurfaceLayerListMembers( | 196 static inline void ClearMaskLayersContributeToDrawnRenderSurface( |
| 197 RenderSurfaceImpl* surface) { | 197 RenderSurfaceImpl* surface) { |
| 198 LayerImpl* mask_layer = surface->MaskLayer(); | 198 LayerImpl* mask_layer = surface->MaskLayer(); |
| 199 if (mask_layer) | 199 if (mask_layer) |
| 200 mask_layer->set_is_drawn_render_surface_layer_list_member(false); | 200 mask_layer->set_contributes_to_drawn_render_surface(false); |
| 201 } | 201 } |
| 202 | 202 |
| 203 static bool CdpPerfTracingEnabled() { | 203 static bool CdpPerfTracingEnabled() { |
| 204 bool tracing_enabled; | 204 bool tracing_enabled; |
| 205 TRACE_EVENT_CATEGORY_GROUP_ENABLED("cdp.perf", &tracing_enabled); | 205 TRACE_EVENT_CATEGORY_GROUP_ENABLED("cdp.perf", &tracing_enabled); |
| 206 return tracing_enabled; | 206 return tracing_enabled; |
| 207 } | 207 } |
| 208 | 208 |
| 209 static float TranslationFromActiveTreeLayerScreenSpaceTransform( | 209 static float TranslationFromActiveTreeLayerScreenSpaceTransform( |
| 210 LayerImpl* pending_tree_layer) { | 210 LayerImpl* pending_tree_layer) { |
| (...skipping 114 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 325 LayerTreeImpl* layer_tree_impl, | 325 LayerTreeImpl* layer_tree_impl, |
| 326 PropertyTrees* property_trees, | 326 PropertyTrees* property_trees, |
| 327 RenderSurfaceList* render_surface_list, | 327 RenderSurfaceList* render_surface_list, |
| 328 bool can_render_to_separate_surface) { | 328 bool can_render_to_separate_surface) { |
| 329 EffectTree& effect_tree = property_trees->effect_tree; | 329 EffectTree& effect_tree = property_trees->effect_tree; |
| 330 for (int i = EffectTree::kContentsRootNodeId; | 330 for (int i = EffectTree::kContentsRootNodeId; |
| 331 i < static_cast<int>(effect_tree.size()); ++i) { | 331 i < static_cast<int>(effect_tree.size()); ++i) { |
| 332 if (RenderSurfaceImpl* render_surface = effect_tree.GetRenderSurface(i)) { | 332 if (RenderSurfaceImpl* render_surface = effect_tree.GetRenderSurface(i)) { |
| 333 render_surface->set_is_render_surface_list_member(false); | 333 render_surface->set_is_render_surface_list_member(false); |
| 334 render_surface->reset_num_contributors(); | 334 render_surface->reset_num_contributors(); |
| 335 ClearMaskLayersAreDrawnRenderSurfaceLayerListMembers(render_surface); | 335 ClearMaskLayersContributeToDrawnRenderSurface(render_surface); |
| 336 } | 336 } |
| 337 } | 337 } |
| 338 | 338 |
| 339 RenderSurfaceImpl* root_surface = | 339 RenderSurfaceImpl* root_surface = |
| 340 effect_tree.GetRenderSurface(EffectTree::kContentsRootNodeId); | 340 effect_tree.GetRenderSurface(EffectTree::kContentsRootNodeId); |
| 341 // The root surface always gets added to the render surface list. | 341 // The root surface always gets added to the render surface list. |
| 342 AddSurfaceToRenderSurfaceList(root_surface, render_surface_list, | 342 AddSurfaceToRenderSurfaceList(root_surface, render_surface_list, |
| 343 property_trees); | 343 property_trees); |
| 344 // For all non-skipped layers, add their target to the render surface list if | 344 // For all non-skipped layers, add their target to the render surface list if |
| 345 // it's not already been added, and add their content rect to the target | 345 // it's not already been added, and add their content rect to the target |
| 346 // surface's accumulated content rect. | 346 // surface's accumulated content rect. |
| 347 for (LayerImpl* layer : *layer_tree_impl) { | 347 for (LayerImpl* layer : *layer_tree_impl) { |
| 348 layer->set_is_drawn_render_surface_layer_list_member(false); | 348 layer->set_contributes_to_drawn_render_surface(false); |
| 349 | 349 |
| 350 bool is_root = layer_tree_impl->IsRootLayer(layer); | 350 bool is_root = layer_tree_impl->IsRootLayer(layer); |
| 351 bool skip_layer = !is_root && draw_property_utils::LayerShouldBeSkipped( | 351 bool skip_layer = !is_root && draw_property_utils::LayerShouldBeSkipped( |
| 352 layer, property_trees->transform_tree, | 352 layer, property_trees->transform_tree, |
| 353 property_trees->effect_tree); | 353 property_trees->effect_tree); |
| 354 if (skip_layer) | 354 if (skip_layer) |
| 355 continue; | 355 continue; |
| 356 | 356 |
| 357 bool layer_is_drawn = | 357 bool layer_is_drawn = |
| 358 property_trees->effect_tree.Node(layer->effect_tree_index())->is_drawn; | 358 property_trees->effect_tree.Node(layer->effect_tree_index())->is_drawn; |
| 359 bool layer_should_be_drawn = draw_property_utils::LayerNeedsUpdate( | 359 bool layer_should_be_drawn = draw_property_utils::LayerNeedsUpdate( |
| 360 layer, layer_is_drawn, property_trees); | 360 layer, layer_is_drawn, property_trees); |
| 361 if (!layer_should_be_drawn) | 361 if (!layer_should_be_drawn) |
| 362 continue; | 362 continue; |
| 363 | 363 |
| 364 RenderSurfaceImpl* render_target = layer->render_target(); | 364 RenderSurfaceImpl* render_target = layer->render_target(); |
| 365 if (!render_target->is_render_surface_list_member()) { | 365 if (!render_target->is_render_surface_list_member()) { |
| 366 AddSurfaceToRenderSurfaceList(render_target, render_surface_list, | 366 AddSurfaceToRenderSurfaceList(render_target, render_surface_list, |
| 367 property_trees); | 367 property_trees); |
| 368 } | 368 } |
| 369 | 369 |
| 370 layer->set_is_drawn_render_surface_layer_list_member(true); | 370 layer->set_contributes_to_drawn_render_surface(true); |
| 371 | 371 |
| 372 // The layer contributes its drawable content rect to its render target. | 372 // The layer contributes its drawable content rect to its render target. |
| 373 render_target->AccumulateContentRectFromContributingLayer(layer); | 373 render_target->AccumulateContentRectFromContributingLayer(layer); |
| 374 render_target->increment_num_contributors(); | 374 render_target->increment_num_contributors(); |
| 375 } | 375 } |
| 376 } | 376 } |
| 377 | 377 |
| 378 static void ComputeSurfaceContentRects(LayerTreeImpl* layer_tree_impl, | 378 static void ComputeSurfaceContentRects(LayerTreeImpl* layer_tree_impl, |
| 379 PropertyTrees* property_trees, | 379 PropertyTrees* property_trees, |
| 380 RenderSurfaceList* render_surface_list, | 380 RenderSurfaceList* render_surface_list, |
| (...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 418 bool is_root = | 418 bool is_root = |
| 419 surface->EffectTreeIndex() == EffectTree::kContentsRootNodeId; | 419 surface->EffectTreeIndex() == EffectTree::kContentsRootNodeId; |
| 420 RenderSurfaceImpl* target_surface = surface->render_target(); | 420 RenderSurfaceImpl* target_surface = surface->render_target(); |
| 421 if (!is_root && (surface->content_rect().IsEmpty() || | 421 if (!is_root && (surface->content_rect().IsEmpty() || |
| 422 !target_surface->is_render_surface_list_member())) { | 422 !target_surface->is_render_surface_list_member())) { |
| 423 surface->set_is_render_surface_list_member(false); | 423 surface->set_is_render_surface_list_member(false); |
| 424 removed_surface = true; | 424 removed_surface = true; |
| 425 target_surface->decrement_num_contributors(); | 425 target_surface->decrement_num_contributors(); |
| 426 continue; | 426 continue; |
| 427 } | 427 } |
| 428 SetMaskLayersAreDrawnRenderSurfaceLayerListMembers(surface, property_trees); | 428 SetMaskLayersContributeToDrawnRenderSurface(surface, property_trees); |
| 429 final_surface_list->push_back(surface); | 429 final_surface_list->push_back(surface); |
| 430 } | 430 } |
| 431 if (removed_surface) { | 431 if (removed_surface) { |
| 432 for (LayerImpl* layer : *layer_tree_impl) { | 432 for (LayerImpl* layer : *layer_tree_impl) { |
| 433 if (layer->is_drawn_render_surface_layer_list_member()) { | 433 if (layer->contributes_to_drawn_render_surface()) { |
| 434 RenderSurfaceImpl* render_target = layer->render_target(); | 434 RenderSurfaceImpl* render_target = layer->render_target(); |
| 435 if (!render_target->is_render_surface_list_member()) { | 435 if (!render_target->is_render_surface_list_member()) { |
| 436 layer->set_is_drawn_render_surface_layer_list_member(false); | 436 layer->set_contributes_to_drawn_render_surface(false); |
| 437 render_target->decrement_num_contributors(); | 437 render_target->decrement_num_contributors(); |
| 438 } | 438 } |
| 439 } | 439 } |
| 440 } | 440 } |
| 441 } | 441 } |
| 442 } | 442 } |
| 443 | 443 |
| 444 static void CalculateRenderSurfaceLayerList( | 444 static void CalculateRenderSurfaceLayerList( |
| 445 LayerTreeImpl* layer_tree_impl, | 445 LayerTreeImpl* layer_tree_impl, |
| 446 PropertyTrees* property_trees, | 446 PropertyTrees* property_trees, |
| (...skipping 203 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 650 | 650 |
| 651 PropertyTrees* GetPropertyTrees(Layer* layer) { | 651 PropertyTrees* GetPropertyTrees(Layer* layer) { |
| 652 return layer->layer_tree_host()->property_trees(); | 652 return layer->layer_tree_host()->property_trees(); |
| 653 } | 653 } |
| 654 | 654 |
| 655 PropertyTrees* GetPropertyTrees(LayerImpl* layer) { | 655 PropertyTrees* GetPropertyTrees(LayerImpl* layer) { |
| 656 return layer->layer_tree_impl()->property_trees(); | 656 return layer->layer_tree_impl()->property_trees(); |
| 657 } | 657 } |
| 658 | 658 |
| 659 } // namespace cc | 659 } // namespace cc |
| OLD | NEW |