#include "third_party/blink/renderer/core/animation/css_interpolation_type.h"
#include <memory>
#include <utility>
#include "base/memory/ptr_util.h"
#include "base/memory/values_equivalent.h"
#include "third_party/blink/renderer/core/animation/css_interpolation_environment.h"
#include "third_party/blink/renderer/core/animation/string_keyframe.h"
#include "third_party/blink/renderer/core/css/anchor_evaluator.h"
#include "third_party/blink/renderer/core/css/computed_style_css_value_mapping.h"
#include "third_party/blink/renderer/core/css/css_inherited_value.h"
#include "third_party/blink/renderer/core/css/css_initial_value.h"
#include "third_party/blink/renderer/core/css/css_revert_layer_value.h"
#include "third_party/blink/renderer/core/css/css_revert_value.h"
#include "third_party/blink/renderer/core/css/css_unparsed_declaration_value.h"
#include "third_party/blink/renderer/core/css/css_unset_value.h"
#include "third_party/blink/renderer/core/css/css_value.h"
#include "third_party/blink/renderer/core/css/parser/css_tokenizer.h"
#include "third_party/blink/renderer/core/css/properties/css_property.h"
#include "third_party/blink/renderer/core/css/property_registration.h"
#include "third_party/blink/renderer/core/css/resolver/style_builder.h"
#include "third_party/blink/renderer/core/css/resolver/style_cascade.h"
#include "third_party/blink/renderer/core/css/resolver/style_resolver_state.h"
#include "third_party/blink/renderer/core/style/computed_style.h"
#include "third_party/blink/renderer/core/style_property_shorthand.h"
namespace blink {
class ResolvedValueChecker : public CSSInterpolationType::ConversionChecker { … };
class ResolvedVariableChecker : public CSSInterpolationType::ConversionChecker { … };
class InheritedCustomPropertyChecker
: public CSSInterpolationType::CSSConversionChecker { … };
class ResolvedRegisteredCustomPropertyChecker
: public InterpolationType::ConversionChecker { … };
template <typename RevertValueType>
class RevertChecker : public CSSInterpolationType::ConversionChecker { … };
CSSInterpolationType::CSSInterpolationType(
PropertyHandle property,
const PropertyRegistration* registration)
: … { … }
InterpolationValue CSSInterpolationType::MaybeConvertSingle(
const PropertySpecificKeyframe& keyframe,
const InterpolationEnvironment& environment,
const InterpolationValue& underlying,
ConversionCheckers& conversion_checkers) const { … }
InterpolationValue CSSInterpolationType::MaybeConvertSingleInternal(
const PropertySpecificKeyframe& keyframe,
const InterpolationEnvironment& environment,
const InterpolationValue& underlying,
ConversionCheckers& conversion_checkers) const { … }
InterpolationValue CSSInterpolationType::MaybeConvertCustomPropertyDeclaration(
const CSSValue& declaration,
const InterpolationEnvironment& environment,
ConversionCheckers& conversion_checkers) const { … }
InterpolationValue CSSInterpolationType::MaybeConvertUnderlyingValue(
const InterpolationEnvironment& environment) const { … }
void CSSInterpolationType::Apply(
const InterpolableValue& interpolable_value,
const NonInterpolableValue* non_interpolable_value,
InterpolationEnvironment& environment) const { … }
void CSSInterpolationType::ApplyCustomPropertyValue(
const InterpolableValue& interpolable_value,
const NonInterpolableValue* non_interpolable_value,
StyleResolverState& state) const { … }
}