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 |