Index: cc/layers/layer_impl.cc |
diff --git a/cc/layers/layer_impl.cc b/cc/layers/layer_impl.cc |
index 163ee3a59f9fac382fdf081214f921fcd553baf8..abc24aecd11de6451499a789a2499e843abf3074 100644 |
--- a/cc/layers/layer_impl.cc |
+++ b/cc/layers/layer_impl.cc |
@@ -16,6 +16,7 @@ |
#include "base/strings/stringprintf.h" |
#include "base/trace_event/trace_event.h" |
#include "base/trace_event/trace_event_argument.h" |
+#include "cc/animation/animation_host.h" |
#include "cc/animation/mutable_properties.h" |
#include "cc/base/math_util.h" |
#include "cc/base/simple_enclosed_region.h" |
@@ -107,6 +108,14 @@ void LayerImpl::SetHasWillChangeTransformHint(bool has_will_change) { |
has_will_change_transform_hint_ = has_will_change; |
} |
+AnimationHost* LayerImpl::GetAnimationHost() const { |
+ return layer_tree_impl_ ? layer_tree_impl_->animation_host() : nullptr; |
+} |
+ |
+ElementListType LayerImpl::GetElementTypeForAnimation() const { |
+ return IsActive() ? ElementListType::ACTIVE : ElementListType::PENDING; |
+} |
+ |
void LayerImpl::SetDebugInfo( |
std::unique_ptr<base::trace_event::ConvertableToTraceFormat> debug_info) { |
owned_debug_info_ = std::move(debug_info); |
@@ -773,11 +782,13 @@ void LayerImpl::SetFilters(const FilterOperations& filters) { |
} |
bool LayerImpl::FilterIsAnimating() const { |
- return layer_tree_impl_->IsAnimatingFilterProperty(this); |
+ return GetAnimationHost()->IsAnimatingFilterProperty( |
+ element_id(), GetElementTypeForAnimation()); |
} |
bool LayerImpl::HasPotentiallyRunningFilterAnimation() const { |
- return layer_tree_impl_->HasPotentiallyRunningFilterAnimation(this); |
+ return GetAnimationHost()->HasPotentiallyRunningFilterAnimation( |
+ element_id(), GetElementTypeForAnimation()); |
} |
void LayerImpl::SetMasksToBounds(bool masks_to_bounds) { |
@@ -797,14 +808,6 @@ float LayerImpl::Opacity() const { |
return node->opacity; |
} |
-bool LayerImpl::OpacityIsAnimating() const { |
- return layer_tree_impl_->IsAnimatingOpacityProperty(this); |
-} |
- |
-bool LayerImpl::HasPotentiallyRunningOpacityAnimation() const { |
- return layer_tree_impl_->HasPotentiallyRunningOpacityAnimation(this); |
-} |
- |
void LayerImpl::SetElementId(ElementId element_id) { |
if (element_id == element_id_) |
return; |
@@ -849,54 +852,49 @@ void LayerImpl::SetTransform(const gfx::Transform& transform) { |
} |
bool LayerImpl::TransformIsAnimating() const { |
- return layer_tree_impl_->IsAnimatingTransformProperty(this); |
+ return GetAnimationHost()->IsAnimatingTransformProperty( |
+ element_id(), GetElementTypeForAnimation()); |
} |
bool LayerImpl::HasPotentiallyRunningTransformAnimation() const { |
- return layer_tree_impl_->HasPotentiallyRunningTransformAnimation(this); |
+ return GetAnimationHost()->HasPotentiallyRunningTransformAnimation( |
+ element_id(), GetElementTypeForAnimation()); |
} |
bool LayerImpl::HasOnlyTranslationTransforms() const { |
- return layer_tree_impl_->HasOnlyTranslationTransforms(this); |
-} |
- |
-bool LayerImpl::AnimationsPreserveAxisAlignment() const { |
- return layer_tree_impl_->AnimationsPreserveAxisAlignment(this); |
-} |
- |
-bool LayerImpl::MaximumTargetScale(float* max_scale) const { |
- return layer_tree_impl_->MaximumTargetScale(this, max_scale); |
-} |
- |
-bool LayerImpl::AnimationStartScale(float* start_scale) const { |
- return layer_tree_impl_->AnimationStartScale(this, start_scale); |
+ return GetAnimationHost()->HasOnlyTranslationTransforms( |
+ element_id(), GetElementTypeForAnimation()); |
} |
bool LayerImpl::HasAnyAnimationTargetingProperty( |
TargetProperty::Type property) const { |
- return layer_tree_impl_->HasAnyAnimationTargetingProperty(this, property); |
+ return GetAnimationHost()->HasAnyAnimationTargetingProperty(element_id(), |
+ property); |
} |
bool LayerImpl::HasFilterAnimationThatInflatesBounds() const { |
- return layer_tree_impl_->HasFilterAnimationThatInflatesBounds(this); |
+ return GetAnimationHost()->HasFilterAnimationThatInflatesBounds(element_id()); |
} |
bool LayerImpl::HasTransformAnimationThatInflatesBounds() const { |
- return layer_tree_impl_->HasTransformAnimationThatInflatesBounds(this); |
+ return GetAnimationHost()->HasTransformAnimationThatInflatesBounds( |
+ element_id()); |
} |
bool LayerImpl::HasAnimationThatInflatesBounds() const { |
- return layer_tree_impl_->HasAnimationThatInflatesBounds(this); |
+ return GetAnimationHost()->HasAnimationThatInflatesBounds(element_id()); |
} |
bool LayerImpl::FilterAnimationBoundsForBox(const gfx::BoxF& box, |
gfx::BoxF* bounds) const { |
- return layer_tree_impl_->FilterAnimationBoundsForBox(this, box, bounds); |
+ return GetAnimationHost()->FilterAnimationBoundsForBox(element_id(), box, |
+ bounds); |
} |
bool LayerImpl::TransformAnimationBoundsForBox(const gfx::BoxF& box, |
gfx::BoxF* bounds) const { |
- return layer_tree_impl_->TransformAnimationBoundsForBox(this, box, bounds); |
+ return GetAnimationHost()->TransformAnimationBoundsForBox(element_id(), box, |
+ bounds); |
} |
void LayerImpl::SetUpdateRect(const gfx::Rect& update_rect) { |
@@ -1027,8 +1025,7 @@ void LayerImpl::AsValueInto(base::trace_event::TracedValue* state) const { |
state->SetBoolean("can_use_lcd_text", CanUseLCDText()); |
state->SetBoolean("contents_opaque", contents_opaque()); |
- state->SetBoolean("has_animation_bounds", |
- layer_tree_impl_->HasAnimationThatInflatesBounds(this)); |
+ state->SetBoolean("has_animation_bounds", HasAnimationThatInflatesBounds()); |
state->SetBoolean("has_will_change_transform_hint", |
has_will_change_transform_hint()); |