Index: cc/trees/property_tree_builder.cc |
diff --git a/cc/trees/property_tree_builder.cc b/cc/trees/property_tree_builder.cc |
index 7812c7e05baa40cdf17c5cf1c692119a2a7b45a4..d46d8692dec3c3a0872e637e5a695230d05b4330 100644 |
--- a/cc/trees/property_tree_builder.cc |
+++ b/cc/trees/property_tree_builder.cc |
@@ -627,12 +627,12 @@ bool AddTransformNodeIfNeeded( |
return true; |
} |
-bool IsAnimatingOpacity(Layer* layer) { |
+static inline bool HasPotentialOpacityAnimation(Layer* layer) { |
return layer->HasPotentiallyRunningOpacityAnimation() || |
layer->OpacityCanAnimateOnImplThread(); |
} |
-bool IsAnimatingOpacity(LayerImpl* layer) { |
+static inline bool HasPotentialOpacityAnimation(LayerImpl* layer) { |
return layer->HasPotentiallyRunningOpacityAnimation(); |
} |
@@ -805,14 +805,16 @@ bool AddEffectNodeIfNeeded( |
DataForRecursion<LayerType>* data_for_children) { |
const bool is_root = !layer->parent(); |
const bool has_transparency = EffectiveOpacity(layer) != 1.f; |
- const bool has_animated_opacity = IsAnimatingOpacity(layer); |
+ const bool has_potential_opacity_animation = |
+ HasPotentialOpacityAnimation(layer); |
const bool should_create_render_surface = ShouldCreateRenderSurface( |
layer, data_from_ancestor.compound_transform_since_render_target, |
data_from_ancestor.axis_align_since_render_target); |
data_for_children->axis_align_since_render_target &= |
layer->AnimationsPreserveAxisAlignment(); |
- bool requires_node = is_root || has_transparency || has_animated_opacity || |
+ bool requires_node = is_root || has_transparency || |
+ has_potential_opacity_animation || |
should_create_render_surface; |
int parent_id = data_from_ancestor.effect_tree_parent; |
@@ -831,9 +833,10 @@ bool AddEffectNodeIfNeeded( |
node.data.has_render_surface = should_create_render_surface; |
node.data.has_copy_request = layer->HasCopyRequest(); |
node.data.has_background_filters = !layer->background_filters().IsEmpty(); |
- node.data.has_animated_opacity = has_animated_opacity; |
+ node.data.has_potential_opacity_animation = has_potential_opacity_animation; |
node.data.double_sided = DoubleSided(layer); |
node.data.subtree_hidden = HideLayerAndSubtree(layer); |
+ node.data.is_currently_animating_opacity = layer->OpacityIsAnimating(); |
if (!is_root) { |
// The effect node's transform id is used only when we create a render |