#include "third_party/blink/renderer/core/animation/effect_stack.h"
#include <algorithm>
#include "third_party/blink/renderer/core/animation/compositor_animations.h"
#include "third_party/blink/renderer/core/animation/css/css_animations.h"
#include "third_party/blink/renderer/core/animation/invalidatable_interpolation.h"
namespace blink {
namespace {
void CopyToActiveInterpolationsMap(
const HeapVector<Member<Interpolation>>& source,
EffectStack::PropertyHandleFilter property_handle_filter,
ActiveInterpolationsMap& target) { … }
void CopyNewAnimationsToActiveInterpolationsMap(
const HeapVector<Member<const InertEffect>>& new_animations,
EffectStack::PropertyHandleFilter property_handle_filter,
ActiveInterpolationsMap& result) { … }
}
bool EffectStack::CompareSampledEffects(
const Member<SampledEffect>& sampled_effect1,
const Member<SampledEffect>& sampled_effect2) { … }
EffectStack::EffectStack() = default;
bool EffectStack::HasActiveAnimationsOnCompositor(
const PropertyHandle& property) const { … }
bool EffectStack::AffectsProperties(PropertyHandleFilter filter) const { … }
bool EffectStack::AffectsProperties(const CSSBitset& bitset,
KeyframeEffect::Priority priority) const { … }
HashSet<PropertyHandle> EffectStack::AffectedProperties(
KeyframeEffect::Priority priority) const { … }
bool EffectStack::HasRevert() const { … }
ActiveInterpolationsMap EffectStack::ActiveInterpolations(
EffectStack* effect_stack,
const HeapVector<Member<const InertEffect>>* new_animations,
const HeapHashSet<Member<const Animation>>* suppressed_animations,
KeyframeEffect::Priority priority,
PropertyHandleFilter property_handle_filter,
KeyframeEffect* partial_effect_stack_cutoff) { … }
void EffectStack::RemoveRedundantSampledEffects() { … }
void EffectStack::Trace(Visitor* visitor) const { … }
}