InterpolationValue CSSShadowListInterpolationType::convertShadowList(const ShadowList* shadowList, double zoom) const { if (!shadowList) return createNeutralValue(); const ShadowDataVector& shadows = shadowList->shadows(); return ListInterpolationFunctions::createList(shadows.size(), [&shadows, zoom](size_t index) { return ShadowInterpolationFunctions::convertShadowData(shadows[index], zoom); }); }
PassOwnPtr<InterpolationValue> CSSShadowListInterpolationType::convertShadowList(const ShadowList* shadowList, double zoom) const { if (!shadowList) return createNeutralValue(); const ShadowDataVector& shadows = shadowList->shadows(); InterpolationComponent listComponent = ListInterpolationFunctions::createList(shadows.size(), [&shadows, zoom](size_t index) { return ShadowInterpolationFunctions::convertShadowData(shadows[index], zoom); }); ASSERT(listComponent); return InterpolationValue::create(*this, listComponent); }
InterpolationValue CSSShadowListInterpolationType::maybeConvertValue(const CSSValue& value, const StyleResolverState&, ConversionCheckers&) const { if (value.isPrimitiveValue() && toCSSPrimitiveValue(value).getValueID() == CSSValueNone) return createNeutralValue(); if (!value.isBaseValueList()) return nullptr; const CSSValueList& valueList = toCSSValueList(value); return ListInterpolationFunctions::createList(valueList.length(), [&valueList](size_t index) { return ShadowInterpolationFunctions::maybeConvertCSSValue(valueList.item(index)); }); }
PassOwnPtr<InterpolationValue> CSSShadowListInterpolationType::maybeConvertNeutral(const UnderlyingValue&, ConversionCheckers&) const { return createNeutralValue(); }
InterpolationValue CSSShadowListInterpolationType::maybeConvertNeutral(const InterpolationValue&, ConversionCheckers&) const { return createNeutralValue(); }