| 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/draw_property_utils.h" | 5 #include "cc/trees/draw_property_utils.h" |
| 6 | 6 |
| 7 #include <stddef.h> | 7 #include <stddef.h> |
| 8 | 8 |
| 9 #include <vector> | 9 #include <vector> |
| 10 | 10 |
| (...skipping 426 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 437 // backface is not visible. | 437 // backface is not visible. |
| 438 if (TransformToScreenIsKnown(layer, backface_transform_id, tree) && | 438 if (TransformToScreenIsKnown(layer, backface_transform_id, tree) && |
| 439 !HasSingularTransform(backface_transform_id, tree) && | 439 !HasSingularTransform(backface_transform_id, tree) && |
| 440 IsLayerBackFaceVisible(layer, backface_transform_id, property_trees)) | 440 IsLayerBackFaceVisible(layer, backface_transform_id, property_trees)) |
| 441 return false; | 441 return false; |
| 442 } | 442 } |
| 443 | 443 |
| 444 return true; | 444 return true; |
| 445 } | 445 } |
| 446 | 446 |
| 447 static inline bool IsHidden(Layer* layer) { |
| 448 return layer->is_hidden(); |
| 449 } |
| 450 |
| 451 static inline bool IsHidden(LayerImpl* layer) { |
| 452 return false; |
| 453 } |
| 454 |
| 447 template <typename LayerType> | 455 template <typename LayerType> |
| 448 static inline bool LayerShouldBeSkippedInternal( | 456 static inline bool LayerShouldBeSkippedInternal( |
| 449 LayerType* layer, | 457 LayerType* layer, |
| 450 const TransformTree& transform_tree, | 458 const TransformTree& transform_tree, |
| 451 const EffectTree& effect_tree) { | 459 const EffectTree& effect_tree) { |
| 460 if (IsHidden(layer)) |
| 461 return true; |
| 452 const TransformNode* transform_node = | 462 const TransformNode* transform_node = |
| 453 transform_tree.Node(layer->transform_tree_index()); | 463 transform_tree.Node(layer->transform_tree_index()); |
| 454 const EffectNode* effect_node = effect_tree.Node(layer->effect_tree_index()); | 464 const EffectNode* effect_node = effect_tree.Node(layer->effect_tree_index()); |
| 455 | 465 |
| 456 if (effect_node->has_render_surface && effect_node->subtree_has_copy_request) | 466 if (effect_node->has_render_surface && effect_node->subtree_has_copy_request) |
| 457 return false; | 467 return false; |
| 458 | 468 |
| 459 // If the layer transform is not invertible, it should be skipped. In case the | 469 // If the layer transform is not invertible, it should be skipped. In case the |
| 460 // transform is animating and singular, we should not skip it. | 470 // transform is animating and singular, we should not skip it. |
| 461 return !transform_node->node_and_ancestors_are_animated_or_invertible || | 471 return !transform_node->node_and_ancestors_are_animated_or_invertible || |
| (...skipping 611 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1073 void UpdateElasticOverscroll(PropertyTrees* property_trees, | 1083 void UpdateElasticOverscroll(PropertyTrees* property_trees, |
| 1074 const Layer* overscroll_elasticity_layer, | 1084 const Layer* overscroll_elasticity_layer, |
| 1075 const gfx::Vector2dF& elastic_overscroll) { | 1085 const gfx::Vector2dF& elastic_overscroll) { |
| 1076 UpdateElasticOverscrollInternal(property_trees, overscroll_elasticity_layer, | 1086 UpdateElasticOverscrollInternal(property_trees, overscroll_elasticity_layer, |
| 1077 elastic_overscroll); | 1087 elastic_overscroll); |
| 1078 } | 1088 } |
| 1079 | 1089 |
| 1080 } // namespace draw_property_utils | 1090 } // namespace draw_property_utils |
| 1081 | 1091 |
| 1082 } // namespace cc | 1092 } // namespace cc |
| OLD | NEW |