#include "third_party/blink/renderer/core/animation/css_length_interpolation_type.h"
#include <memory>
#include <utility>
#include "base/memory/ptr_util.h"
#include "third_party/blink/renderer/core/animation/interpolable_length.h"
#include "third_party/blink/renderer/core/animation/length_property_functions.h"
#include "third_party/blink/renderer/core/css/css_identifier_value.h"
#include "third_party/blink/renderer/core/css/resolver/style_builder.h"
#include "third_party/blink/renderer/core/css/resolver/style_resolver.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/platform/geometry/length_functions.h"
namespace blink {
CSSLengthInterpolationType::CSSLengthInterpolationType(
PropertyHandle property,
const PropertyRegistration* registration)
: … { … }
class InheritedLengthChecker
: public CSSInterpolationType::CSSConversionChecker { … };
InterpolationValue CSSLengthInterpolationType::MaybeConvertNeutral(
const InterpolationValue&,
ConversionCheckers&) const { … }
InterpolationValue CSSLengthInterpolationType::MaybeConvertInitial(
const StyleResolverState& state,
ConversionCheckers& conversion_checkers) const { … }
InterpolationValue CSSLengthInterpolationType::MaybeConvertInherit(
const StyleResolverState& state,
ConversionCheckers& conversion_checkers) const { … }
InterpolationValue CSSLengthInterpolationType::MaybeConvertValue(
const CSSValue& value,
const StyleResolverState* state,
ConversionCheckers& conversion_checkers) const { … }
InterpolationValue CSSLengthInterpolationType::MaybeConvertUnderlyingValue(
const InterpolationEnvironment& environment) const { … }
void CSSLengthInterpolationType::Composite(
UnderlyingValueOwner& underlying_value_owner,
double underlying_fraction,
const InterpolationValue& value,
double interpolation_fraction) const { … }
PairwiseInterpolationValue CSSLengthInterpolationType::MaybeMergeSingles(
InterpolationValue&& start,
InterpolationValue&& end) const { … }
InterpolationValue
CSSLengthInterpolationType::MaybeConvertStandardPropertyUnderlyingValue(
const ComputedStyle& style) const { … }
const CSSValue* CSSLengthInterpolationType::CreateCSSValue(
const InterpolableValue& interpolable_value,
const NonInterpolableValue*,
const StyleResolverState&) const { … }
void CSSLengthInterpolationType::ApplyStandardPropertyValue(
const InterpolableValue& interpolable_value,
const NonInterpolableValue* non_interpolable_value,
StyleResolverState& state) const { … }
}