Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(737)

Side by Side Diff: cc/trees/draw_property_utils.cc

Issue 2846653002: cc : Stop pushing layers from hidden subtrees at commit
Patch Set: rebase Created 3 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « cc/layers/picture_layer_unittest.cc ('k') | cc/trees/layer_tree_host_common_unittest.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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
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
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
OLDNEW
« no previous file with comments | « cc/layers/picture_layer_unittest.cc ('k') | cc/trees/layer_tree_host_common_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698