diff options
Diffstat (limited to 'chromium/third_party/blink/renderer/core/animation/css_font_variation_settings_interpolation_type.cc')
-rw-r--r-- | chromium/third_party/blink/renderer/core/animation/css_font_variation_settings_interpolation_type.cc | 19 |
1 files changed, 14 insertions, 5 deletions
diff --git a/chromium/third_party/blink/renderer/core/animation/css_font_variation_settings_interpolation_type.cc b/chromium/third_party/blink/renderer/core/animation/css_font_variation_settings_interpolation_type.cc index 6262ba25091..1db1e64c2e6 100644 --- a/chromium/third_party/blink/renderer/core/animation/css_font_variation_settings_interpolation_type.cc +++ b/chromium/third_party/blink/renderer/core/animation/css_font_variation_settings_interpolation_type.cc @@ -41,12 +41,21 @@ class CSSFontVariationSettingsNonInterpolableValue DEFINE_NON_INTERPOLABLE_VALUE_TYPE( CSSFontVariationSettingsNonInterpolableValue); -DEFINE_NON_INTERPOLABLE_VALUE_TYPE_CASTS( - CSSFontVariationSettingsNonInterpolableValue); +template <> +struct DowncastTraits<CSSFontVariationSettingsNonInterpolableValue> { + static bool AllowFrom(const NonInterpolableValue* value) { + return value && AllowFrom(*value); + } + static bool AllowFrom(const NonInterpolableValue& value) { + return value.GetType() == + CSSFontVariationSettingsNonInterpolableValue::static_type_; + } +}; static const Vector<AtomicString> GetTags( const NonInterpolableValue& non_interpolable_value) { - return ToCSSFontVariationSettingsNonInterpolableValue(non_interpolable_value) + return To<CSSFontVariationSettingsNonInterpolableValue>( + non_interpolable_value) .Tags(); } @@ -194,7 +203,7 @@ void CSSFontVariationSettingsInterpolationType::ApplyStandardPropertyValue( const InterpolableValue& interpolable_value, const NonInterpolableValue* non_interpolable_value, StyleResolverState& state) const { - const InterpolableList& numbers = ToInterpolableList(interpolable_value); + const auto& numbers = To<InterpolableList>(interpolable_value); const Vector<AtomicString>& tags = GetTags(*non_interpolable_value); DCHECK_EQ(numbers.length(), tags.size()); @@ -205,7 +214,7 @@ void CSSFontVariationSettingsInterpolationType::ApplyStandardPropertyValue( for (wtf_size_t i = 0; i < length; ++i) { settings->Append(FontVariationAxis( tags[i], - clampTo<float>(ToInterpolableNumber(numbers.Get(i))->Value()))); + clampTo<float>(To<InterpolableNumber>(numbers.Get(i))->Value()))); } state.GetFontBuilder().SetVariationSettings(settings); } |