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 | 44 |
1 files changed, 17 insertions, 27 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 2eb8bc30487..6262ba25091 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 @@ -57,16 +57,11 @@ static bool TagsMatch(const NonInterpolableValue& a, class UnderlyingTagsChecker : public InterpolationType::ConversionChecker { public: + explicit UnderlyingTagsChecker(const Vector<AtomicString>& tags) + : tags_(tags) {} ~UnderlyingTagsChecker() final = default; - static std::unique_ptr<UnderlyingTagsChecker> Create( - const Vector<AtomicString>& tags) { - return base::WrapUnique(new UnderlyingTagsChecker(tags)); - } - private: - UnderlyingTagsChecker(const Vector<AtomicString>& tags) : tags_(tags) {} - bool IsValid(const InterpolationEnvironment&, const InterpolationValue& underlying) const final { return tags_ == GetTags(*underlying.non_interpolable_value); @@ -78,18 +73,13 @@ class UnderlyingTagsChecker : public InterpolationType::ConversionChecker { class InheritedFontVariationSettingsChecker : public CSSInterpolationType::CSSConversionChecker { public: - ~InheritedFontVariationSettingsChecker() final = default; + explicit InheritedFontVariationSettingsChecker( + const FontVariationSettings* settings) + : settings_(settings) {} - static std::unique_ptr<InheritedFontVariationSettingsChecker> Create( - const FontVariationSettings* settings) { - return base::WrapUnique( - new InheritedFontVariationSettingsChecker(settings)); - } + ~InheritedFontVariationSettingsChecker() final = default; private: - InheritedFontVariationSettingsChecker(const FontVariationSettings* settings) - : settings_(settings) {} - bool IsValid(const StyleResolverState& state, const InterpolationValue&) const final { return DataEquivalent( @@ -106,10 +96,11 @@ static InterpolationValue ConvertFontVariationSettings( return nullptr; } wtf_size_t length = settings->size(); - std::unique_ptr<InterpolableList> numbers = InterpolableList::Create(length); + auto numbers = std::make_unique<InterpolableList>(length); Vector<AtomicString> tags; for (wtf_size_t i = 0; i < length; ++i) { - numbers->Set(i, InterpolableNumber::Create(settings->at(i).Value())); + numbers->Set(i, + std::make_unique<InterpolableNumber>(settings->at(i).Value())); tags.push_back(settings->at(i).Tag()); } return InterpolationValue( @@ -121,7 +112,7 @@ InterpolationValue CSSFontVariationSettingsInterpolationType::MaybeConvertNeutral( const InterpolationValue& underlying, ConversionCheckers& conversion_checkers) const { - conversion_checkers.push_back(UnderlyingTagsChecker::Create( + conversion_checkers.push_back(std::make_unique<UnderlyingTagsChecker>( GetTags(*underlying.non_interpolable_value))); return InterpolationValue(underlying.interpolable_value->CloneAndZero(), underlying.non_interpolable_value); @@ -141,7 +132,7 @@ CSSFontVariationSettingsInterpolationType::MaybeConvertInherit( const FontVariationSettings* inherited = state.ParentStyle()->GetFontDescription().VariationSettings(); conversion_checkers.push_back( - InheritedFontVariationSettingsChecker::Create(inherited)); + std::make_unique<InheritedFontVariationSettingsChecker>(inherited)); return ConvertFontVariationSettings(inherited); } @@ -149,17 +140,16 @@ InterpolationValue CSSFontVariationSettingsInterpolationType::MaybeConvertValue( const CSSValue& value, const StyleResolverState*, ConversionCheckers&) const { - if (!value.IsValueList()) { + const auto* list = DynamicTo<CSSValueList>(value); + if (!list) { return nullptr; } - const CSSValueList& list = ToCSSValueList(value); - wtf_size_t length = list.length(); - std::unique_ptr<InterpolableList> numbers = InterpolableList::Create(length); + wtf_size_t length = list->length(); + auto numbers = std::make_unique<InterpolableList>(length); Vector<AtomicString> tags; for (wtf_size_t i = 0; i < length; ++i) { - const cssvalue::CSSFontVariationValue& item = - cssvalue::ToCSSFontVariationValue(list.Item(i)); - numbers->Set(i, InterpolableNumber::Create(item.Value())); + const auto& item = To<cssvalue::CSSFontVariationValue>(list->Item(i)); + numbers->Set(i, std::make_unique<InterpolableNumber>(item.Value())); tags.push_back(item.Tag()); } return InterpolationValue( |