Commit f5e1dc82 authored by Gyuyoung Kim's avatar Gyuyoung Kim Committed by Commit Bot

Remove InterpolateLists::Create() in core/animation

As advised in [1], this CL removes unnecessary InterpolateLists::Create()
in //third_party/blink/renderer/core/animation and make their constructors
public, then make the callers use std::make_unique<InterpolateLists>
instead of it's Create() factory function.

[1] https://groups.google.com/a/chromium.org/forum/#!msg/blink-dev/iJ1bawbxbWs/vEdfT5QtBgAJ

Bug: 939691
Change-Id: Ic3544f8ded2a05f5f5e00a4570317f3e5bad4f48
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1531889Reviewed-by: default avatarKentaro Hara <haraken@chromium.org>
Commit-Queue: Gyuyoung Kim <gyuyoung@igalia.com>
Cr-Commit-Position: refs/heads/master@{#642428}
parent 63e431a1
...@@ -175,8 +175,7 @@ enum CircleComponentIndex : unsigned { ...@@ -175,8 +175,7 @@ enum CircleComponentIndex : unsigned {
InterpolationValue ConvertCSSValue( InterpolationValue ConvertCSSValue(
const cssvalue::CSSBasicShapeCircleValue& circle) { const cssvalue::CSSBasicShapeCircleValue& circle) {
std::unique_ptr<InterpolableList> list = auto list = std::make_unique<InterpolableList>(kCircleComponentIndexCount);
InterpolableList::Create(kCircleComponentIndexCount);
list->Set(kCircleCenterXIndex, ConvertCSSCoordinate(circle.CenterX())); list->Set(kCircleCenterXIndex, ConvertCSSCoordinate(circle.CenterX()));
list->Set(kCircleCenterYIndex, ConvertCSSCoordinate(circle.CenterY())); list->Set(kCircleCenterYIndex, ConvertCSSCoordinate(circle.CenterY()));
...@@ -192,8 +191,7 @@ InterpolationValue ConvertCSSValue( ...@@ -192,8 +191,7 @@ InterpolationValue ConvertCSSValue(
InterpolationValue ConvertBasicShape(const BasicShapeCircle& circle, InterpolationValue ConvertBasicShape(const BasicShapeCircle& circle,
double zoom) { double zoom) {
std::unique_ptr<InterpolableList> list = auto list = std::make_unique<InterpolableList>(kCircleComponentIndexCount);
InterpolableList::Create(kCircleComponentIndexCount);
list->Set(kCircleCenterXIndex, ConvertCoordinate(circle.CenterX(), zoom)); list->Set(kCircleCenterXIndex, ConvertCoordinate(circle.CenterX(), zoom));
list->Set(kCircleCenterYIndex, ConvertCoordinate(circle.CenterY(), zoom)); list->Set(kCircleCenterYIndex, ConvertCoordinate(circle.CenterY(), zoom));
...@@ -208,8 +206,7 @@ InterpolationValue ConvertBasicShape(const BasicShapeCircle& circle, ...@@ -208,8 +206,7 @@ InterpolationValue ConvertBasicShape(const BasicShapeCircle& circle,
} }
std::unique_ptr<InterpolableValue> CreateNeutralValue() { std::unique_ptr<InterpolableValue> CreateNeutralValue() {
std::unique_ptr<InterpolableList> list = auto list = std::make_unique<InterpolableList>(kCircleComponentIndexCount);
InterpolableList::Create(kCircleComponentIndexCount);
list->Set(kCircleCenterXIndex, CreateNeutralInterpolableCoordinate()); list->Set(kCircleCenterXIndex, CreateNeutralInterpolableCoordinate());
list->Set(kCircleCenterYIndex, CreateNeutralInterpolableCoordinate()); list->Set(kCircleCenterYIndex, CreateNeutralInterpolableCoordinate());
list->Set(kCircleRadiusIndex, CreateNeutralInterpolableRadius()); list->Set(kCircleRadiusIndex, CreateNeutralInterpolableRadius());
...@@ -244,8 +241,7 @@ enum EllipseComponentIndex : unsigned { ...@@ -244,8 +241,7 @@ enum EllipseComponentIndex : unsigned {
InterpolationValue ConvertCSSValue( InterpolationValue ConvertCSSValue(
const cssvalue::CSSBasicShapeEllipseValue& ellipse) { const cssvalue::CSSBasicShapeEllipseValue& ellipse) {
std::unique_ptr<InterpolableList> list = auto list = std::make_unique<InterpolableList>(kEllipseComponentIndexCount);
InterpolableList::Create(kEllipseComponentIndexCount);
list->Set(kEllipseCenterXIndex, ConvertCSSCoordinate(ellipse.CenterX())); list->Set(kEllipseCenterXIndex, ConvertCSSCoordinate(ellipse.CenterX()));
list->Set(kEllipseCenterYIndex, ConvertCSSCoordinate(ellipse.CenterY())); list->Set(kEllipseCenterYIndex, ConvertCSSCoordinate(ellipse.CenterY()));
...@@ -264,8 +260,7 @@ InterpolationValue ConvertCSSValue( ...@@ -264,8 +260,7 @@ InterpolationValue ConvertCSSValue(
InterpolationValue ConvertBasicShape(const BasicShapeEllipse& ellipse, InterpolationValue ConvertBasicShape(const BasicShapeEllipse& ellipse,
double zoom) { double zoom) {
std::unique_ptr<InterpolableList> list = auto list = std::make_unique<InterpolableList>(kEllipseComponentIndexCount);
InterpolableList::Create(kEllipseComponentIndexCount);
list->Set(kEllipseCenterXIndex, ConvertCoordinate(ellipse.CenterX(), zoom)); list->Set(kEllipseCenterXIndex, ConvertCoordinate(ellipse.CenterX(), zoom));
list->Set(kEllipseCenterYIndex, ConvertCoordinate(ellipse.CenterY(), zoom)); list->Set(kEllipseCenterYIndex, ConvertCoordinate(ellipse.CenterY(), zoom));
...@@ -283,8 +278,7 @@ InterpolationValue ConvertBasicShape(const BasicShapeEllipse& ellipse, ...@@ -283,8 +278,7 @@ InterpolationValue ConvertBasicShape(const BasicShapeEllipse& ellipse,
} }
std::unique_ptr<InterpolableValue> CreateNeutralValue() { std::unique_ptr<InterpolableValue> CreateNeutralValue() {
std::unique_ptr<InterpolableList> list = auto list = std::make_unique<InterpolableList>(kEllipseComponentIndexCount);
InterpolableList::Create(kEllipseComponentIndexCount);
list->Set(kEllipseCenterXIndex, CreateNeutralInterpolableCoordinate()); list->Set(kEllipseCenterXIndex, CreateNeutralInterpolableCoordinate());
list->Set(kEllipseCenterYIndex, CreateNeutralInterpolableCoordinate()); list->Set(kEllipseCenterYIndex, CreateNeutralInterpolableCoordinate());
list->Set(kEllipseRadiusXIndex, CreateNeutralInterpolableRadius()); list->Set(kEllipseRadiusXIndex, CreateNeutralInterpolableRadius());
...@@ -330,8 +324,7 @@ enum InsetComponentIndex : unsigned { ...@@ -330,8 +324,7 @@ enum InsetComponentIndex : unsigned {
InterpolationValue ConvertCSSValue( InterpolationValue ConvertCSSValue(
const cssvalue::CSSBasicShapeInsetValue& inset) { const cssvalue::CSSBasicShapeInsetValue& inset) {
std::unique_ptr<InterpolableList> list = auto list = std::make_unique<InterpolableList>(kInsetComponentIndexCount);
InterpolableList::Create(kInsetComponentIndexCount);
list->Set(kInsetTopIndex, ConvertCSSLength(inset.Top())); list->Set(kInsetTopIndex, ConvertCSSLength(inset.Top()));
list->Set(kInsetRightIndex, ConvertCSSLength(inset.Right())); list->Set(kInsetRightIndex, ConvertCSSLength(inset.Right()));
list->Set(kInsetBottomIndex, ConvertCSSLength(inset.Bottom())); list->Set(kInsetBottomIndex, ConvertCSSLength(inset.Bottom()));
...@@ -360,8 +353,7 @@ InterpolationValue ConvertCSSValue( ...@@ -360,8 +353,7 @@ InterpolationValue ConvertCSSValue(
InterpolationValue ConvertBasicShape(const BasicShapeInset& inset, InterpolationValue ConvertBasicShape(const BasicShapeInset& inset,
double zoom) { double zoom) {
std::unique_ptr<InterpolableList> list = auto list = std::make_unique<InterpolableList>(kInsetComponentIndexCount);
InterpolableList::Create(kInsetComponentIndexCount);
list->Set(kInsetTopIndex, ConvertLength(inset.Top(), zoom)); list->Set(kInsetTopIndex, ConvertLength(inset.Top(), zoom));
list->Set(kInsetRightIndex, ConvertLength(inset.Right(), zoom)); list->Set(kInsetRightIndex, ConvertLength(inset.Right(), zoom));
list->Set(kInsetBottomIndex, ConvertLength(inset.Bottom(), zoom)); list->Set(kInsetBottomIndex, ConvertLength(inset.Bottom(), zoom));
...@@ -389,8 +381,7 @@ InterpolationValue ConvertBasicShape(const BasicShapeInset& inset, ...@@ -389,8 +381,7 @@ InterpolationValue ConvertBasicShape(const BasicShapeInset& inset,
} }
std::unique_ptr<InterpolableValue> CreateNeutralValue() { std::unique_ptr<InterpolableValue> CreateNeutralValue() {
std::unique_ptr<InterpolableList> list = auto list = std::make_unique<InterpolableList>(kInsetComponentIndexCount);
InterpolableList::Create(kInsetComponentIndexCount);
list->Set(kInsetTopIndex, list->Set(kInsetTopIndex,
LengthInterpolationFunctions::CreateNeutralInterpolableValue()); LengthInterpolationFunctions::CreateNeutralInterpolableValue());
list->Set(kInsetRightIndex, list->Set(kInsetRightIndex,
...@@ -455,7 +446,7 @@ namespace polygon_functions { ...@@ -455,7 +446,7 @@ namespace polygon_functions {
InterpolationValue ConvertCSSValue( InterpolationValue ConvertCSSValue(
const cssvalue::CSSBasicShapePolygonValue& polygon) { const cssvalue::CSSBasicShapePolygonValue& polygon) {
wtf_size_t size = polygon.Values().size(); wtf_size_t size = polygon.Values().size();
std::unique_ptr<InterpolableList> list = InterpolableList::Create(size); auto list = std::make_unique<InterpolableList>(size);
for (wtf_size_t i = 0; i < size; i++) for (wtf_size_t i = 0; i < size; i++)
list->Set(i, ConvertCSSLength(polygon.Values()[i].Get())); list->Set(i, ConvertCSSLength(polygon.Values()[i].Get()));
return InterpolationValue(std::move(list), return InterpolationValue(std::move(list),
...@@ -466,7 +457,7 @@ InterpolationValue ConvertCSSValue( ...@@ -466,7 +457,7 @@ InterpolationValue ConvertCSSValue(
InterpolationValue ConvertBasicShape(const BasicShapePolygon& polygon, InterpolationValue ConvertBasicShape(const BasicShapePolygon& polygon,
double zoom) { double zoom) {
wtf_size_t size = polygon.Values().size(); wtf_size_t size = polygon.Values().size();
std::unique_ptr<InterpolableList> list = InterpolableList::Create(size); auto list = std::make_unique<InterpolableList>(size);
for (wtf_size_t i = 0; i < size; i++) for (wtf_size_t i = 0; i < size; i++)
list->Set(i, ConvertLength(polygon.Values()[i], zoom)); list->Set(i, ConvertLength(polygon.Values()[i], zoom));
return InterpolationValue(std::move(list), return InterpolationValue(std::move(list),
...@@ -476,8 +467,7 @@ InterpolationValue ConvertBasicShape(const BasicShapePolygon& polygon, ...@@ -476,8 +467,7 @@ InterpolationValue ConvertBasicShape(const BasicShapePolygon& polygon,
std::unique_ptr<InterpolableValue> CreateNeutralValue( std::unique_ptr<InterpolableValue> CreateNeutralValue(
const BasicShapeNonInterpolableValue& non_interpolable_value) { const BasicShapeNonInterpolableValue& non_interpolable_value) {
std::unique_ptr<InterpolableList> list = auto list = std::make_unique<InterpolableList>(non_interpolable_value.size());
InterpolableList::Create(non_interpolable_value.size());
for (wtf_size_t i = 0; i < non_interpolable_value.size(); i++) for (wtf_size_t i = 0; i < non_interpolable_value.size(); i++)
list->Set(i, list->Set(i,
LengthInterpolationFunctions::CreateNeutralInterpolableValue()); LengthInterpolationFunctions::CreateNeutralInterpolableValue());
......
...@@ -210,8 +210,7 @@ class InheritedSideTypesChecker ...@@ -210,8 +210,7 @@ class InheritedSideTypesChecker
InterpolationValue ConvertBorderImageLengthBox(const BorderImageLengthBox& box, InterpolationValue ConvertBorderImageLengthBox(const BorderImageLengthBox& box,
double zoom) { double zoom) {
std::unique_ptr<InterpolableList> list = auto list = std::make_unique<InterpolableList>(kSideIndexCount);
InterpolableList::Create(kSideIndexCount);
Vector<scoped_refptr<NonInterpolableValue>> non_interpolable_values( Vector<scoped_refptr<NonInterpolableValue>> non_interpolable_values(
kSideIndexCount); kSideIndexCount);
const BorderImageLength* sides[kSideIndexCount] = {}; const BorderImageLength* sides[kSideIndexCount] = {};
...@@ -225,7 +224,7 @@ InterpolationValue ConvertBorderImageLengthBox(const BorderImageLengthBox& box, ...@@ -225,7 +224,7 @@ InterpolationValue ConvertBorderImageLengthBox(const BorderImageLengthBox& box,
if (side.IsNumber()) { if (side.IsNumber()) {
list->Set(i, std::make_unique<InterpolableNumber>(side.Number())); list->Set(i, std::make_unique<InterpolableNumber>(side.Number()));
} else if (side.length().IsAuto()) { } else if (side.length().IsAuto()) {
list->Set(i, InterpolableList::Create(0)); list->Set(i, std::make_unique<InterpolableList>(0));
} else { } else {
InterpolationValue converted_side = InterpolationValue converted_side =
LengthInterpolationFunctions::MaybeConvertLength(side.length(), zoom); LengthInterpolationFunctions::MaybeConvertLength(side.length(), zoom);
...@@ -286,8 +285,7 @@ InterpolationValue CSSBorderImageLengthBoxInterpolationType::MaybeConvertValue( ...@@ -286,8 +285,7 @@ InterpolationValue CSSBorderImageLengthBoxInterpolationType::MaybeConvertValue(
if (!quad) if (!quad)
return nullptr; return nullptr;
std::unique_ptr<InterpolableList> list = auto list = std::make_unique<InterpolableList>(kSideIndexCount);
InterpolableList::Create(kSideIndexCount);
Vector<scoped_refptr<NonInterpolableValue>> non_interpolable_values( Vector<scoped_refptr<NonInterpolableValue>> non_interpolable_values(
kSideIndexCount); kSideIndexCount);
const CSSValue* sides[kSideIndexCount] = {}; const CSSValue* sides[kSideIndexCount] = {};
...@@ -308,7 +306,7 @@ InterpolationValue CSSBorderImageLengthBoxInterpolationType::MaybeConvertValue( ...@@ -308,7 +306,7 @@ InterpolationValue CSSBorderImageLengthBoxInterpolationType::MaybeConvertValue(
auto* side_identifier_value = DynamicTo<CSSIdentifierValue>(side); auto* side_identifier_value = DynamicTo<CSSIdentifierValue>(side);
if (side_identifier_value && if (side_identifier_value &&
side_identifier_value->GetValueID() == CSSValueAuto) { side_identifier_value->GetValueID() == CSSValueAuto) {
list->Set(i, InterpolableList::Create(0)); list->Set(i, std::make_unique<InterpolableList>(0));
continue; continue;
} }
......
...@@ -148,14 +148,13 @@ static std::unique_ptr<InterpolableValue> ConvertClipComponent( ...@@ -148,14 +148,13 @@ static std::unique_ptr<InterpolableValue> ConvertClipComponent(
const Length& length, const Length& length,
double zoom) { double zoom) {
if (length.IsAuto()) if (length.IsAuto())
return InterpolableList::Create(0); return std::make_unique<InterpolableList>(0);
return LengthInterpolationFunctions::MaybeConvertLength(length, zoom) return LengthInterpolationFunctions::MaybeConvertLength(length, zoom)
.interpolable_value; .interpolable_value;
} }
static InterpolationValue CreateClipValue(const LengthBox& clip, double zoom) { static InterpolationValue CreateClipValue(const LengthBox& clip, double zoom) {
std::unique_ptr<InterpolableList> list = auto list = std::make_unique<InterpolableList>(kClipComponentIndexCount);
InterpolableList::Create(kClipComponentIndexCount);
list->Set(kClipTop, ConvertClipComponent(clip.Top(), zoom)); list->Set(kClipTop, ConvertClipComponent(clip.Top(), zoom));
list->Set(kClipRight, ConvertClipComponent(clip.Right(), zoom)); list->Set(kClipRight, ConvertClipComponent(clip.Right(), zoom));
list->Set(kClipBottom, ConvertClipComponent(clip.Bottom(), zoom)); list->Set(kClipBottom, ConvertClipComponent(clip.Bottom(), zoom));
...@@ -206,7 +205,7 @@ static bool IsCSSAuto(const CSSValue& value) { ...@@ -206,7 +205,7 @@ static bool IsCSSAuto(const CSSValue& value) {
static std::unique_ptr<InterpolableValue> ConvertClipComponent( static std::unique_ptr<InterpolableValue> ConvertClipComponent(
const CSSValue& length) { const CSSValue& length) {
if (IsCSSAuto(length)) if (IsCSSAuto(length))
return InterpolableList::Create(0); return std::make_unique<InterpolableList>(0);
return LengthInterpolationFunctions::MaybeConvertCSSValue(length) return LengthInterpolationFunctions::MaybeConvertCSSValue(length)
.interpolable_value; .interpolable_value;
} }
...@@ -218,8 +217,7 @@ InterpolationValue CSSClipInterpolationType::MaybeConvertValue( ...@@ -218,8 +217,7 @@ InterpolationValue CSSClipInterpolationType::MaybeConvertValue(
const auto* quad = DynamicTo<CSSQuadValue>(value); const auto* quad = DynamicTo<CSSQuadValue>(value);
if (!quad) if (!quad)
return nullptr; return nullptr;
std::unique_ptr<InterpolableList> list = auto list = std::make_unique<InterpolableList>(kClipComponentIndexCount);
InterpolableList::Create(kClipComponentIndexCount);
list->Set(kClipTop, ConvertClipComponent(*quad->Top())); list->Set(kClipTop, ConvertClipComponent(*quad->Top()));
list->Set(kClipRight, ConvertClipComponent(*quad->Right())); list->Set(kClipRight, ConvertClipComponent(*quad->Right()));
list->Set(kClipBottom, ConvertClipComponent(*quad->Bottom())); list->Set(kClipBottom, ConvertClipComponent(*quad->Bottom()));
......
...@@ -33,8 +33,7 @@ enum InterpolableColorIndex : unsigned { ...@@ -33,8 +33,7 @@ enum InterpolableColorIndex : unsigned {
static std::unique_ptr<InterpolableValue> CreateInterpolableColorForIndex( static std::unique_ptr<InterpolableValue> CreateInterpolableColorForIndex(
InterpolableColorIndex index) { InterpolableColorIndex index) {
DCHECK_LT(index, kInterpolableColorIndexCount); DCHECK_LT(index, kInterpolableColorIndexCount);
std::unique_ptr<InterpolableList> list = auto list = std::make_unique<InterpolableList>(kInterpolableColorIndexCount);
InterpolableList::Create(kInterpolableColorIndexCount);
for (unsigned i = 0; i < kInterpolableColorIndexCount; i++) for (unsigned i = 0; i < kInterpolableColorIndexCount; i++)
list->Set(i, std::make_unique<InterpolableNumber>(i == index)); list->Set(i, std::make_unique<InterpolableNumber>(i == index));
return std::move(list); return std::move(list);
...@@ -42,8 +41,7 @@ static std::unique_ptr<InterpolableValue> CreateInterpolableColorForIndex( ...@@ -42,8 +41,7 @@ static std::unique_ptr<InterpolableValue> CreateInterpolableColorForIndex(
std::unique_ptr<InterpolableValue> std::unique_ptr<InterpolableValue>
CSSColorInterpolationType::CreateInterpolableColor(const Color& color) { CSSColorInterpolationType::CreateInterpolableColor(const Color& color) {
std::unique_ptr<InterpolableList> list = auto list = std::make_unique<InterpolableList>(kInterpolableColorIndexCount);
InterpolableList::Create(kInterpolableColorIndexCount);
list->Set(kRed, list->Set(kRed,
std::make_unique<InterpolableNumber>(color.Red() * color.Alpha())); std::make_unique<InterpolableNumber>(color.Red() * color.Alpha()));
list->Set(kGreen, std::make_unique<InterpolableNumber>(color.Green() * list->Set(kGreen, std::make_unique<InterpolableNumber>(color.Green() *
...@@ -240,8 +238,8 @@ InterpolationValue CSSColorInterpolationType::MaybeConvertValue( ...@@ -240,8 +238,8 @@ InterpolationValue CSSColorInterpolationType::MaybeConvertValue(
MaybeCreateInterpolableColor(value); MaybeCreateInterpolableColor(value);
if (!interpolable_color) if (!interpolable_color)
return nullptr; return nullptr;
std::unique_ptr<InterpolableList> color_pair = auto color_pair =
InterpolableList::Create(kInterpolableColorPairIndexCount); std::make_unique<InterpolableList>(kInterpolableColorPairIndexCount);
color_pair->Set(kUnvisited, interpolable_color->Clone()); color_pair->Set(kUnvisited, interpolable_color->Clone());
color_pair->Set(kVisited, std::move(interpolable_color)); color_pair->Set(kVisited, std::move(interpolable_color));
return InterpolationValue(std::move(color_pair)); return InterpolationValue(std::move(color_pair));
...@@ -253,8 +251,8 @@ InterpolationValue CSSColorInterpolationType::ConvertStyleColorPair( ...@@ -253,8 +251,8 @@ InterpolationValue CSSColorInterpolationType::ConvertStyleColorPair(
if (unvisited_color.IsNull() || visited_color.IsNull()) { if (unvisited_color.IsNull() || visited_color.IsNull()) {
return nullptr; return nullptr;
} }
std::unique_ptr<InterpolableList> color_pair = auto color_pair =
InterpolableList::Create(kInterpolableColorPairIndexCount); std::make_unique<InterpolableList>(kInterpolableColorPairIndexCount);
color_pair->Set(kUnvisited, color_pair->Set(kUnvisited,
CreateInterpolableColor(unvisited_color.Access())); CreateInterpolableColor(unvisited_color.Access()));
color_pair->Set(kVisited, CreateInterpolableColor(visited_color.Access())); color_pair->Set(kVisited, CreateInterpolableColor(visited_color.Access()));
......
...@@ -28,7 +28,7 @@ InterpolationValue CSSDefaultInterpolationType::MaybeConvertSingle( ...@@ -28,7 +28,7 @@ InterpolationValue CSSDefaultInterpolationType::MaybeConvertSingle(
return nullptr; return nullptr;
} }
return InterpolationValue( return InterpolationValue(
InterpolableList::Create(0), std::make_unique<InterpolableList>(0),
CSSDefaultNonInterpolableValue::Create( CSSDefaultNonInterpolableValue::Create(
ToCSSPropertySpecificKeyframe(keyframe).Value())); ToCSSPropertySpecificKeyframe(keyframe).Value()));
} }
......
...@@ -100,8 +100,7 @@ class InheritedFilterListChecker ...@@ -100,8 +100,7 @@ class InheritedFilterListChecker
InterpolationValue ConvertFilterList(const FilterOperations& filter_operations, InterpolationValue ConvertFilterList(const FilterOperations& filter_operations,
double zoom) { double zoom) {
wtf_size_t length = filter_operations.size(); wtf_size_t length = filter_operations.size();
std::unique_ptr<InterpolableList> interpolable_list = auto interpolable_list = std::make_unique<InterpolableList>(length);
InterpolableList::Create(length);
Vector<scoped_refptr<NonInterpolableValue>> non_interpolable_values(length); Vector<scoped_refptr<NonInterpolableValue>> non_interpolable_values(length);
for (wtf_size_t i = 0; i < length; i++) { for (wtf_size_t i = 0; i < length; i++) {
InterpolationValue filter_result = InterpolationValue filter_result =
...@@ -156,7 +155,7 @@ InterpolationValue CSSFilterListInterpolationType::MaybeConvertValue( ...@@ -156,7 +155,7 @@ InterpolationValue CSSFilterListInterpolationType::MaybeConvertValue(
ConversionCheckers&) const { ConversionCheckers&) const {
auto* identifier_value = DynamicTo<CSSIdentifierValue>(value); auto* identifier_value = DynamicTo<CSSIdentifierValue>(value);
if (identifier_value && identifier_value->GetValueID() == CSSValueNone) if (identifier_value && identifier_value->GetValueID() == CSSValueNone)
return InterpolationValue(InterpolableList::Create(0), return InterpolationValue(std::make_unique<InterpolableList>(0),
NonInterpolableList::Create()); NonInterpolableList::Create());
if (!value.IsBaseValueList()) if (!value.IsBaseValueList())
...@@ -164,8 +163,7 @@ InterpolationValue CSSFilterListInterpolationType::MaybeConvertValue( ...@@ -164,8 +163,7 @@ InterpolationValue CSSFilterListInterpolationType::MaybeConvertValue(
const auto& list = To<CSSValueList>(value); const auto& list = To<CSSValueList>(value);
wtf_size_t length = list.length(); wtf_size_t length = list.length();
std::unique_ptr<InterpolableList> interpolable_list = auto interpolable_list = std::make_unique<InterpolableList>(length);
InterpolableList::Create(length);
Vector<scoped_refptr<NonInterpolableValue>> non_interpolable_values(length); Vector<scoped_refptr<NonInterpolableValue>> non_interpolable_values(length);
for (wtf_size_t i = 0; i < length; i++) { for (wtf_size_t i = 0; i < length; i++) {
InterpolationValue item_result = InterpolationValue item_result =
...@@ -222,8 +220,8 @@ PairwiseInterpolationValue CSSFilterListInterpolationType::MaybeMergeSingles( ...@@ -222,8 +220,8 @@ PairwiseInterpolationValue CSSFilterListInterpolationType::MaybeMergeSingles(
ToInterpolableList(*shorter.interpolable_value); ToInterpolableList(*shorter.interpolable_value);
const NonInterpolableList& longer_non_interpolable_list = const NonInterpolableList& longer_non_interpolable_list =
ToNonInterpolableList(*longer.non_interpolable_value); ToNonInterpolableList(*longer.non_interpolable_value);
std::unique_ptr<InterpolableList> extended_interpolable_list = auto extended_interpolable_list =
InterpolableList::Create(longer_length); std::make_unique<InterpolableList>(longer_length);
for (wtf_size_t i = 0; i < longer_length; i++) { for (wtf_size_t i = 0; i < longer_length; i++) {
if (i < shorter_length) if (i < shorter_length)
extended_interpolable_list->Set( extended_interpolable_list->Set(
...@@ -276,8 +274,7 @@ void CSSFilterListInterpolationType::Composite( ...@@ -276,8 +274,7 @@ void CSSFilterListInterpolationType::Composite(
if (length <= underlying_length) if (length <= underlying_length)
return; return;
std::unique_ptr<InterpolableList> extended_interpolable_list = auto extended_interpolable_list = std::make_unique<InterpolableList>(length);
InterpolableList::Create(length);
for (wtf_size_t i = 0; i < length; i++) { for (wtf_size_t i = 0; i < length; i++) {
if (i < underlying_length) if (i < underlying_length)
extended_interpolable_list->Set( extended_interpolable_list->Set(
......
...@@ -96,7 +96,7 @@ static InterpolationValue ConvertFontVariationSettings( ...@@ -96,7 +96,7 @@ static InterpolationValue ConvertFontVariationSettings(
return nullptr; return nullptr;
} }
wtf_size_t length = settings->size(); wtf_size_t length = settings->size();
std::unique_ptr<InterpolableList> numbers = InterpolableList::Create(length); auto numbers = std::make_unique<InterpolableList>(length);
Vector<AtomicString> tags; Vector<AtomicString> tags;
for (wtf_size_t i = 0; i < length; ++i) { for (wtf_size_t i = 0; i < length; ++i) {
numbers->Set(i, numbers->Set(i,
...@@ -145,7 +145,7 @@ InterpolationValue CSSFontVariationSettingsInterpolationType::MaybeConvertValue( ...@@ -145,7 +145,7 @@ InterpolationValue CSSFontVariationSettingsInterpolationType::MaybeConvertValue(
return nullptr; return nullptr;
} }
wtf_size_t length = list->length(); wtf_size_t length = list->length();
std::unique_ptr<InterpolableList> numbers = InterpolableList::Create(length); auto numbers = std::make_unique<InterpolableList>(length);
Vector<AtomicString> tags; Vector<AtomicString> tags;
for (wtf_size_t i = 0; i < length; ++i) { for (wtf_size_t i = 0; i < length; ++i) {
const auto& item = To<cssvalue::CSSFontVariationValue>(list->Item(i)); const auto& item = To<cssvalue::CSSFontVariationValue>(list->Item(i));
......
...@@ -118,8 +118,7 @@ InterpolationValue CSSImageListInterpolationType::MaybeConvertValue( ...@@ -118,8 +118,7 @@ InterpolationValue CSSImageListInterpolationType::MaybeConvertValue(
const auto& value_list = temp_list ? *temp_list : To<CSSValueList>(value); const auto& value_list = temp_list ? *temp_list : To<CSSValueList>(value);
const wtf_size_t length = value_list.length(); const wtf_size_t length = value_list.length();
std::unique_ptr<InterpolableList> interpolable_list = auto interpolable_list = std::make_unique<InterpolableList>(length);
InterpolableList::Create(length);
Vector<scoped_refptr<NonInterpolableValue>> non_interpolable_values(length); Vector<scoped_refptr<NonInterpolableValue>> non_interpolable_values(length);
for (wtf_size_t i = 0; i < length; i++) { for (wtf_size_t i = 0; i < length; i++) {
InterpolationValue component = InterpolationValue component =
......
...@@ -130,8 +130,7 @@ class InheritedSliceTypesChecker ...@@ -130,8 +130,7 @@ class InheritedSliceTypesChecker
}; };
InterpolationValue ConvertImageSlice(const ImageSlice& slice, double zoom) { InterpolationValue ConvertImageSlice(const ImageSlice& slice, double zoom) {
std::unique_ptr<InterpolableList> list = auto list = std::make_unique<InterpolableList>(kSideIndexCount);
InterpolableList::Create(kSideIndexCount);
const Length* sides[kSideIndexCount] = {}; const Length* sides[kSideIndexCount] = {};
sides[kSideTop] = &slice.slices.Top(); sides[kSideTop] = &slice.slices.Top();
sides[kSideRight] = &slice.slices.Right(); sides[kSideRight] = &slice.slices.Right();
...@@ -198,8 +197,7 @@ InterpolationValue CSSImageSliceInterpolationType::MaybeConvertValue( ...@@ -198,8 +197,7 @@ InterpolationValue CSSImageSliceInterpolationType::MaybeConvertValue(
const cssvalue::CSSBorderImageSliceValue& slice = const cssvalue::CSSBorderImageSliceValue& slice =
To<cssvalue::CSSBorderImageSliceValue>(value); To<cssvalue::CSSBorderImageSliceValue>(value);
std::unique_ptr<InterpolableList> list = auto list = std::make_unique<InterpolableList>(kSideIndexCount);
InterpolableList::Create(kSideIndexCount);
const CSSValue* sides[kSideIndexCount]; const CSSValue* sides[kSideIndexCount];
sides[kSideTop] = slice.Slices().Top(); sides[kSideTop] = slice.Slices().Top();
sides[kSideRight] = slice.Slices().Right(); sides[kSideRight] = slice.Slices().Right();
......
...@@ -59,7 +59,7 @@ struct Scale { ...@@ -59,7 +59,7 @@ struct Scale {
}; };
std::unique_ptr<InterpolableValue> CreateScaleIdentity() { std::unique_ptr<InterpolableValue> CreateScaleIdentity() {
std::unique_ptr<InterpolableList> list = InterpolableList::Create(3); auto list = std::make_unique<InterpolableList>(3);
for (wtf_size_t i = 0; i < 3; i++) for (wtf_size_t i = 0; i < 3; i++)
list->Set(i, std::make_unique<InterpolableNumber>(1)); list->Set(i, std::make_unique<InterpolableNumber>(1));
return std::move(list); return std::move(list);
...@@ -132,11 +132,11 @@ DEFINE_NON_INTERPOLABLE_VALUE_TYPE_CASTS(CSSScaleNonInterpolableValue); ...@@ -132,11 +132,11 @@ DEFINE_NON_INTERPOLABLE_VALUE_TYPE_CASTS(CSSScaleNonInterpolableValue);
InterpolationValue Scale::CreateInterpolationValue() const { InterpolationValue Scale::CreateInterpolationValue() const {
if (is_none) { if (is_none) {
return InterpolationValue(InterpolableList::Create(0), return InterpolationValue(std::make_unique<InterpolableList>(0),
CSSScaleNonInterpolableValue::Create(*this)); CSSScaleNonInterpolableValue::Create(*this));
} }
std::unique_ptr<InterpolableList> list = InterpolableList::Create(3); auto list = std::make_unique<InterpolableList>(3);
for (wtf_size_t i = 0; i < 3; i++) for (wtf_size_t i = 0; i < 3; i++)
list->Set(i, std::make_unique<InterpolableNumber>(array[i])); list->Set(i, std::make_unique<InterpolableNumber>(array[i]));
return InterpolationValue(std::move(list), return InterpolationValue(std::move(list),
......
...@@ -19,7 +19,7 @@ namespace blink { ...@@ -19,7 +19,7 @@ namespace blink {
namespace { namespace {
InterpolationValue CreateNoneValue() { InterpolationValue CreateNoneValue() {
return InterpolationValue(InterpolableList::Create(0)); return InterpolationValue(std::make_unique<InterpolableList>(0));
} }
bool IsNoneValue(const InterpolationValue& value) { bool IsNoneValue(const InterpolationValue& value) {
...@@ -58,8 +58,8 @@ enum TranslateComponentIndex : unsigned { ...@@ -58,8 +58,8 @@ enum TranslateComponentIndex : unsigned {
}; };
std::unique_ptr<InterpolableValue> CreateTranslateIdentity() { std::unique_ptr<InterpolableValue> CreateTranslateIdentity() {
std::unique_ptr<InterpolableList> result = auto result =
InterpolableList::Create(kTranslateComponentIndexCount); std::make_unique<InterpolableList>(kTranslateComponentIndexCount);
result->Set(kTranslateX, result->Set(kTranslateX,
LengthInterpolationFunctions::CreateNeutralInterpolableValue()); LengthInterpolationFunctions::CreateNeutralInterpolableValue());
result->Set(kTranslateY, result->Set(kTranslateY,
...@@ -75,8 +75,8 @@ InterpolationValue ConvertTranslateOperation( ...@@ -75,8 +75,8 @@ InterpolationValue ConvertTranslateOperation(
if (!translate) if (!translate)
return CreateNoneValue(); return CreateNoneValue();
std::unique_ptr<InterpolableList> result = auto result =
InterpolableList::Create(kTranslateComponentIndexCount); std::make_unique<InterpolableList>(kTranslateComponentIndexCount);
result->Set(kTranslateX, LengthInterpolationFunctions::MaybeConvertLength( result->Set(kTranslateX, LengthInterpolationFunctions::MaybeConvertLength(
translate->X(), zoom) translate->X(), zoom)
.interpolable_value); .interpolable_value);
...@@ -126,8 +126,8 @@ InterpolationValue CSSTranslateInterpolationType::MaybeConvertValue( ...@@ -126,8 +126,8 @@ InterpolationValue CSSTranslateInterpolationType::MaybeConvertValue(
if (list.length() < 1 || list.length() > 3) if (list.length() < 1 || list.length() > 3)
return nullptr; return nullptr;
std::unique_ptr<InterpolableList> result = auto result =
InterpolableList::Create(kTranslateComponentIndexCount); std::make_unique<InterpolableList>(kTranslateComponentIndexCount);
for (wtf_size_t i = 0; i < kTranslateComponentIndexCount; i++) { for (wtf_size_t i = 0; i < kTranslateComponentIndexCount; i++) {
InterpolationValue component = nullptr; InterpolationValue component = nullptr;
if (i < list.length()) { if (i < list.length()) {
......
...@@ -48,7 +48,7 @@ CSSVarCycleInterpolationType::CSSVarCycleInterpolationType( ...@@ -48,7 +48,7 @@ CSSVarCycleInterpolationType::CSSVarCycleInterpolationType(
} }
static InterpolationValue CreateCycleDetectedValue() { static InterpolationValue CreateCycleDetectedValue() {
return InterpolationValue(InterpolableList::Create(0)); return InterpolationValue(std::make_unique<InterpolableList>(0));
} }
InterpolationValue CSSVarCycleInterpolationType::MaybeConvertSingle( InterpolationValue CSSVarCycleInterpolationType::MaybeConvertSingle(
......
...@@ -56,7 +56,7 @@ void InterpolableList::Interpolate(const InterpolableValue& to, ...@@ -56,7 +56,7 @@ void InterpolableList::Interpolate(const InterpolableValue& to,
} }
std::unique_ptr<InterpolableValue> InterpolableList::CloneAndZero() const { std::unique_ptr<InterpolableValue> InterpolableList::CloneAndZero() const {
std::unique_ptr<InterpolableList> result = InterpolableList::Create(length()); auto result = std::make_unique<InterpolableList>(length());
for (wtf_size_t i = 0; i < length(); i++) for (wtf_size_t i = 0; i < length(); i++)
result->Set(i, values_[i]->CloneAndZero()); result->Set(i, values_[i]->CloneAndZero());
return std::move(result); return std::move(result);
......
...@@ -85,13 +85,11 @@ class CORE_EXPORT InterpolableList : public InterpolableValue { ...@@ -85,13 +85,11 @@ class CORE_EXPORT InterpolableList : public InterpolableValue {
// has its own copy constructor. So just delete operator= here. // has its own copy constructor. So just delete operator= here.
InterpolableList& operator=(const InterpolableList&) = delete; InterpolableList& operator=(const InterpolableList&) = delete;
static std::unique_ptr<InterpolableList> Create( explicit InterpolableList(wtf_size_t size) : values_(size) {}
const InterpolableList& other) {
return base::WrapUnique(new InterpolableList(other));
}
static std::unique_ptr<InterpolableList> Create(wtf_size_t size) { InterpolableList(const InterpolableList& other) : values_(other.length()) {
return base::WrapUnique(new InterpolableList(size)); for (wtf_size_t i = 0; i < length(); i++)
Set(i, other.values_[i]->Clone());
} }
bool IsList() const final { return true; } bool IsList() const final { return true; }
...@@ -107,7 +105,7 @@ class CORE_EXPORT InterpolableList : public InterpolableValue { ...@@ -107,7 +105,7 @@ class CORE_EXPORT InterpolableList : public InterpolableValue {
wtf_size_t length() const { return values_.size(); } wtf_size_t length() const { return values_.size(); }
bool Equals(const InterpolableValue& other) const final; bool Equals(const InterpolableValue& other) const final;
std::unique_ptr<InterpolableValue> Clone() const final { std::unique_ptr<InterpolableValue> Clone() const final {
return Create(*this); return std::make_unique<InterpolableList>(*this);
} }
std::unique_ptr<InterpolableValue> CloneAndZero() const final; std::unique_ptr<InterpolableValue> CloneAndZero() const final;
void Scale(double scale) final; void Scale(double scale) final;
...@@ -117,12 +115,6 @@ class CORE_EXPORT InterpolableList : public InterpolableValue { ...@@ -117,12 +115,6 @@ class CORE_EXPORT InterpolableList : public InterpolableValue {
void Interpolate(const InterpolableValue& to, void Interpolate(const InterpolableValue& to,
const double progress, const double progress,
InterpolableValue& result) const final; InterpolableValue& result) const final;
explicit InterpolableList(wtf_size_t size) : values_(size) {}
InterpolableList(const InterpolableList& other) : values_(other.length()) {
for (wtf_size_t i = 0; i < length(); i++)
Set(i, other.values_[i]->Clone());
}
Vector<std::unique_ptr<InterpolableValue>> values_; Vector<std::unique_ptr<InterpolableValue>> values_;
}; };
......
...@@ -71,12 +71,12 @@ TEST_F(AnimationInterpolableValueTest, InterpolateNumbers) { ...@@ -71,12 +71,12 @@ TEST_F(AnimationInterpolableValueTest, InterpolateNumbers) {
} }
TEST_F(AnimationInterpolableValueTest, SimpleList) { TEST_F(AnimationInterpolableValueTest, SimpleList) {
std::unique_ptr<InterpolableList> list_a = InterpolableList::Create(3); auto list_a = std::make_unique<InterpolableList>(3);
list_a->Set(0, std::make_unique<InterpolableNumber>(0)); list_a->Set(0, std::make_unique<InterpolableNumber>(0));
list_a->Set(1, std::make_unique<InterpolableNumber>(42)); list_a->Set(1, std::make_unique<InterpolableNumber>(42));
list_a->Set(2, std::make_unique<InterpolableNumber>(20.5)); list_a->Set(2, std::make_unique<InterpolableNumber>(20.5));
std::unique_ptr<InterpolableList> list_b = InterpolableList::Create(3); auto list_b = std::make_unique<InterpolableList>(3);
list_b->Set(0, std::make_unique<InterpolableNumber>(100)); list_b->Set(0, std::make_unique<InterpolableNumber>(100));
list_b->Set(1, std::make_unique<InterpolableNumber>(-200)); list_b->Set(1, std::make_unique<InterpolableNumber>(-200));
list_b->Set(2, std::make_unique<InterpolableNumber>(300)); list_b->Set(2, std::make_unique<InterpolableNumber>(300));
...@@ -92,16 +92,16 @@ TEST_F(AnimationInterpolableValueTest, SimpleList) { ...@@ -92,16 +92,16 @@ TEST_F(AnimationInterpolableValueTest, SimpleList) {
} }
TEST_F(AnimationInterpolableValueTest, NestedList) { TEST_F(AnimationInterpolableValueTest, NestedList) {
std::unique_ptr<InterpolableList> list_a = InterpolableList::Create(3); auto list_a = std::make_unique<InterpolableList>(3);
list_a->Set(0, std::make_unique<InterpolableNumber>(0)); list_a->Set(0, std::make_unique<InterpolableNumber>(0));
std::unique_ptr<InterpolableList> sub_list_a = InterpolableList::Create(1); auto sub_list_a = std::make_unique<InterpolableList>(1);
sub_list_a->Set(0, std::make_unique<InterpolableNumber>(100)); sub_list_a->Set(0, std::make_unique<InterpolableNumber>(100));
list_a->Set(1, std::move(sub_list_a)); list_a->Set(1, std::move(sub_list_a));
list_a->Set(2, std::make_unique<InterpolableNumber>(0)); list_a->Set(2, std::make_unique<InterpolableNumber>(0));
std::unique_ptr<InterpolableList> list_b = InterpolableList::Create(3); auto list_b = std::make_unique<InterpolableList>(3);
list_b->Set(0, std::make_unique<InterpolableNumber>(100)); list_b->Set(0, std::make_unique<InterpolableNumber>(100));
std::unique_ptr<InterpolableList> sub_list_b = InterpolableList::Create(1); auto sub_list_b = std::make_unique<InterpolableList>(1);
sub_list_b->Set(0, std::make_unique<InterpolableNumber>(50)); sub_list_b->Set(0, std::make_unique<InterpolableNumber>(50));
list_b->Set(1, std::move(sub_list_b)); list_b->Set(1, std::move(sub_list_b));
list_b->Set(2, std::make_unique<InterpolableNumber>(1)); list_b->Set(2, std::make_unique<InterpolableNumber>(1));
...@@ -134,11 +134,11 @@ TEST_F(AnimationInterpolableValueTest, ScaleAndAddNumbers) { ...@@ -134,11 +134,11 @@ TEST_F(AnimationInterpolableValueTest, ScaleAndAddNumbers) {
} }
TEST_F(AnimationInterpolableValueTest, ScaleAndAddLists) { TEST_F(AnimationInterpolableValueTest, ScaleAndAddLists) {
std::unique_ptr<InterpolableList> base_list = InterpolableList::Create(3); auto base_list = std::make_unique<InterpolableList>(3);
base_list->Set(0, std::make_unique<InterpolableNumber>(5)); base_list->Set(0, std::make_unique<InterpolableNumber>(5));
base_list->Set(1, std::make_unique<InterpolableNumber>(10)); base_list->Set(1, std::make_unique<InterpolableNumber>(10));
base_list->Set(2, std::make_unique<InterpolableNumber>(15)); base_list->Set(2, std::make_unique<InterpolableNumber>(15));
std::unique_ptr<InterpolableList> add_list = InterpolableList::Create(3); auto add_list = std::make_unique<InterpolableList>(3);
add_list->Set(0, std::make_unique<InterpolableNumber>(1)); add_list->Set(0, std::make_unique<InterpolableNumber>(1));
add_list->Set(1, std::make_unique<InterpolableNumber>(2)); add_list->Set(1, std::make_unique<InterpolableNumber>(2));
add_list->Set(2, std::make_unique<InterpolableNumber>(3)); add_list->Set(2, std::make_unique<InterpolableNumber>(3));
......
...@@ -48,8 +48,7 @@ bool CSSLengthNonInterpolableValue::HasPercentage( ...@@ -48,8 +48,7 @@ bool CSSLengthNonInterpolableValue::HasPercentage(
std::unique_ptr<InterpolableValue> std::unique_ptr<InterpolableValue>
LengthInterpolationFunctions::CreateInterpolablePixels(double pixels) { LengthInterpolationFunctions::CreateInterpolablePixels(double pixels) {
std::unique_ptr<InterpolableList> interpolable_list = auto interpolable_list = CreateNeutralInterpolableValue();
CreateNeutralInterpolableValue();
interpolable_list->Set(CSSPrimitiveValue::kUnitTypePixels, interpolable_list->Set(CSSPrimitiveValue::kUnitTypePixels,
std::make_unique<InterpolableNumber>(pixels)); std::make_unique<InterpolableNumber>(pixels));
return std::move(interpolable_list); return std::move(interpolable_list);
...@@ -57,8 +56,7 @@ LengthInterpolationFunctions::CreateInterpolablePixels(double pixels) { ...@@ -57,8 +56,7 @@ LengthInterpolationFunctions::CreateInterpolablePixels(double pixels) {
InterpolationValue LengthInterpolationFunctions::CreateInterpolablePercent( InterpolationValue LengthInterpolationFunctions::CreateInterpolablePercent(
double percent) { double percent) {
std::unique_ptr<InterpolableList> interpolable_list = auto interpolable_list = CreateNeutralInterpolableValue();
CreateNeutralInterpolableValue();
interpolable_list->Set(CSSPrimitiveValue::kUnitTypePercentage, interpolable_list->Set(CSSPrimitiveValue::kUnitTypePercentage,
std::make_unique<InterpolableNumber>(percent)); std::make_unique<InterpolableNumber>(percent));
return InterpolationValue(std::move(interpolable_list), return InterpolationValue(std::move(interpolable_list),
...@@ -68,7 +66,7 @@ InterpolationValue LengthInterpolationFunctions::CreateInterpolablePercent( ...@@ -68,7 +66,7 @@ InterpolationValue LengthInterpolationFunctions::CreateInterpolablePercent(
std::unique_ptr<InterpolableList> std::unique_ptr<InterpolableList>
LengthInterpolationFunctions::CreateNeutralInterpolableValue() { LengthInterpolationFunctions::CreateNeutralInterpolableValue() {
const size_t kLength = CSSPrimitiveValue::kLengthUnitTypeCount; const size_t kLength = CSSPrimitiveValue::kLengthUnitTypeCount;
std::unique_ptr<InterpolableList> values = InterpolableList::Create(kLength); auto values = std::make_unique<InterpolableList>(kLength);
for (wtf_size_t i = 0; i < kLength; i++) for (wtf_size_t i = 0; i < kLength; i++)
values->Set(i, std::make_unique<InterpolableNumber>(0)); values->Set(i, std::make_unique<InterpolableNumber>(0));
return values; return values;
...@@ -87,8 +85,8 @@ InterpolationValue LengthInterpolationFunctions::MaybeConvertCSSValue( ...@@ -87,8 +85,8 @@ InterpolationValue LengthInterpolationFunctions::MaybeConvertCSSValue(
CSSLengthArray length_array; CSSLengthArray length_array;
primitive_value->AccumulateLengthArray(length_array); primitive_value->AccumulateLengthArray(length_array);
std::unique_ptr<InterpolableList> values = auto values = std::make_unique<InterpolableList>(
InterpolableList::Create(CSSPrimitiveValue::kLengthUnitTypeCount); CSSPrimitiveValue::kLengthUnitTypeCount);
for (wtf_size_t i = 0; i < CSSPrimitiveValue::kLengthUnitTypeCount; i++) { for (wtf_size_t i = 0; i < CSSPrimitiveValue::kLengthUnitTypeCount; i++) {
values->Set(i, values->Set(i,
std::make_unique<InterpolableNumber>(length_array.values[i])); std::make_unique<InterpolableNumber>(length_array.values[i]));
...@@ -107,7 +105,7 @@ InterpolationValue LengthInterpolationFunctions::MaybeConvertLength( ...@@ -107,7 +105,7 @@ InterpolationValue LengthInterpolationFunctions::MaybeConvertLength(
return nullptr; return nullptr;
PixelsAndPercent pixels_and_percent = length.GetPixelsAndPercent(); PixelsAndPercent pixels_and_percent = length.GetPixelsAndPercent();
std::unique_ptr<InterpolableList> values = CreateNeutralInterpolableValue(); auto values = CreateNeutralInterpolableValue();
values->Set( values->Set(
CSSPrimitiveValue::kUnitTypePixels, CSSPrimitiveValue::kUnitTypePixels,
std::make_unique<InterpolableNumber>(pixels_and_percent.pixels / zoom)); std::make_unique<InterpolableNumber>(pixels_and_percent.pixels / zoom));
......
...@@ -118,10 +118,10 @@ PairwiseInterpolationValue ListInterpolationFunctions::MaybeMergeSingles( ...@@ -118,10 +118,10 @@ PairwiseInterpolationValue ListInterpolationFunctions::MaybeMergeSingles(
const wtf_size_t final_length = const wtf_size_t final_length =
MatchLengths(start_length, end_length, length_matching_strategy); MatchLengths(start_length, end_length, length_matching_strategy);
std::unique_ptr<InterpolableList> result_start_interpolable_list = auto result_start_interpolable_list =
InterpolableList::Create(final_length); std::make_unique<InterpolableList>(final_length);
std::unique_ptr<InterpolableList> result_end_interpolable_list = auto result_end_interpolable_list =
InterpolableList::Create(final_length); std::make_unique<InterpolableList>(final_length);
Vector<scoped_refptr<NonInterpolableValue>> result_non_interpolable_values( Vector<scoped_refptr<NonInterpolableValue>> result_non_interpolable_values(
final_length); final_length);
...@@ -190,8 +190,7 @@ static void RepeatToLength(InterpolationValue& value, wtf_size_t length) { ...@@ -190,8 +190,7 @@ static void RepeatToLength(InterpolationValue& value, wtf_size_t length) {
if (current_length == length) if (current_length == length)
return; return;
DCHECK_LT(current_length, length); DCHECK_LT(current_length, length);
std::unique_ptr<InterpolableList> new_interpolable_list = auto new_interpolable_list = std::make_unique<InterpolableList>(length);
InterpolableList::Create(length);
Vector<scoped_refptr<NonInterpolableValue>> new_non_interpolable_values( Vector<scoped_refptr<NonInterpolableValue>> new_non_interpolable_values(
length); length);
for (wtf_size_t i = length; i-- > 0;) { for (wtf_size_t i = length; i-- > 0;) {
...@@ -222,8 +221,8 @@ static void PadToSameLength(InterpolationValue& value, ...@@ -222,8 +221,8 @@ static void PadToSameLength(InterpolationValue& value,
ToNonInterpolableList(*length_value.non_interpolable_value); ToNonInterpolableList(*length_value.non_interpolable_value);
const wtf_size_t target_length = target_interpolable_list.length(); const wtf_size_t target_length = target_interpolable_list.length();
DCHECK_LT(current_length, target_length); DCHECK_LT(current_length, target_length);
std::unique_ptr<InterpolableList> new_interpolable_list = auto new_interpolable_list =
InterpolableList::Create(target_length); std::make_unique<InterpolableList>(target_length);
Vector<scoped_refptr<NonInterpolableValue>> new_non_interpolable_values( Vector<scoped_refptr<NonInterpolableValue>> new_non_interpolable_values(
target_length); target_length);
wtf_size_t index = 0; wtf_size_t index = 0;
......
...@@ -23,7 +23,7 @@ class CORE_EXPORT ListInterpolationFunctions { ...@@ -23,7 +23,7 @@ class CORE_EXPORT ListInterpolationFunctions {
template <typename CreateItemCallback> template <typename CreateItemCallback>
static InterpolationValue CreateList(wtf_size_t length, CreateItemCallback); static InterpolationValue CreateList(wtf_size_t length, CreateItemCallback);
static InterpolationValue CreateEmptyList() { static InterpolationValue CreateEmptyList() {
return InterpolationValue(InterpolableList::Create(0)); return InterpolationValue(std::make_unique<InterpolableList>(0));
} }
enum class LengthMatchingStrategy { enum class LengthMatchingStrategy {
...@@ -105,8 +105,7 @@ InterpolationValue ListInterpolationFunctions::CreateList( ...@@ -105,8 +105,7 @@ InterpolationValue ListInterpolationFunctions::CreateList(
CreateItemCallback create_item) { CreateItemCallback create_item) {
if (length == 0) if (length == 0)
return CreateEmptyList(); return CreateEmptyList();
std::unique_ptr<InterpolableList> interpolable_list = auto interpolable_list = std::make_unique<InterpolableList>(length);
InterpolableList::Create(length);
Vector<scoped_refptr<NonInterpolableValue>> non_interpolable_values(length); Vector<scoped_refptr<NonInterpolableValue>> non_interpolable_values(length);
for (wtf_size_t i = 0; i < length; i++) { for (wtf_size_t i = 0; i < length; i++) {
InterpolationValue item = create_item(i); InterpolationValue item = create_item(i);
......
...@@ -70,13 +70,11 @@ InterpolationValue PathInterpolationFunctions::ConvertValue( ...@@ -70,13 +70,11 @@ InterpolationValue PathInterpolationFunctions::ConvertValue(
length++; length++;
} }
std::unique_ptr<InterpolableList> path_args = auto path_args = std::make_unique<InterpolableList>(length);
InterpolableList::Create(length);
for (wtf_size_t i = 0; i < interpolable_path_segs.size(); i++) for (wtf_size_t i = 0; i < interpolable_path_segs.size(); i++)
path_args->Set(i, std::move(interpolable_path_segs[i])); path_args->Set(i, std::move(interpolable_path_segs[i]));
std::unique_ptr<InterpolableList> result = auto result = std::make_unique<InterpolableList>(kPathComponentIndexCount);
InterpolableList::Create(kPathComponentIndexCount);
result->Set(kPathArgsIndex, std::move(path_args)); result->Set(kPathArgsIndex, std::move(path_args));
result->Set(kPathNeutralIndex, std::make_unique<InterpolableNumber>(0)); result->Set(kPathNeutralIndex, std::make_unique<InterpolableNumber>(0));
...@@ -129,8 +127,7 @@ InterpolationValue PathInterpolationFunctions::MaybeConvertNeutral( ...@@ -129,8 +127,7 @@ InterpolationValue PathInterpolationFunctions::MaybeConvertNeutral(
InterpolationType::ConversionCheckers& conversion_checkers) { InterpolationType::ConversionCheckers& conversion_checkers) {
conversion_checkers.push_back( conversion_checkers.push_back(
UnderlyingPathSegTypesChecker::Create(underlying)); UnderlyingPathSegTypesChecker::Create(underlying));
std::unique_ptr<InterpolableList> result = auto result = std::make_unique<InterpolableList>(kPathComponentIndexCount);
InterpolableList::Create(kPathComponentIndexCount);
result->Set(kPathArgsIndex, ToInterpolableList(*underlying.interpolable_value) result->Set(kPathArgsIndex, ToInterpolableList(*underlying.interpolable_value)
.Get(kPathArgsIndex) .Get(kPathArgsIndex)
->CloneAndZero()); ->CloneAndZero());
......
...@@ -69,8 +69,8 @@ PairwiseInterpolationValue ShadowInterpolationFunctions::MaybeMergeSingles( ...@@ -69,8 +69,8 @@ PairwiseInterpolationValue ShadowInterpolationFunctions::MaybeMergeSingles(
InterpolationValue ShadowInterpolationFunctions::ConvertShadowData( InterpolationValue ShadowInterpolationFunctions::ConvertShadowData(
const ShadowData& shadow_data, const ShadowData& shadow_data,
double zoom) { double zoom) {
std::unique_ptr<InterpolableList> interpolable_list = auto interpolable_list =
InterpolableList::Create(kShadowComponentIndexCount); std::make_unique<InterpolableList>(kShadowComponentIndexCount);
interpolable_list->Set(kShadowX, interpolable_list->Set(kShadowX,
LengthInterpolationFunctions::CreateInterpolablePixels( LengthInterpolationFunctions::CreateInterpolablePixels(
shadow_data.X() / zoom)); shadow_data.X() / zoom));
...@@ -105,8 +105,8 @@ InterpolationValue ShadowInterpolationFunctions::MaybeConvertCSSValue( ...@@ -105,8 +105,8 @@ InterpolationValue ShadowInterpolationFunctions::MaybeConvertCSSValue(
return nullptr; return nullptr;
} }
std::unique_ptr<InterpolableList> interpolable_list = auto interpolable_list =
InterpolableList::Create(kShadowComponentIndexCount); std::make_unique<InterpolableList>(kShadowComponentIndexCount);
static_assert(kShadowX == 0, "Enum ordering check."); static_assert(kShadowX == 0, "Enum ordering check.");
static_assert(kShadowY == 1, "Enum ordering check."); static_assert(kShadowY == 1, "Enum ordering check.");
static_assert(kShadowBlur == 2, "Enum ordering check."); static_assert(kShadowBlur == 2, "Enum ordering check.");
......
...@@ -61,7 +61,7 @@ DEFINE_NON_INTERPOLABLE_VALUE_TYPE(CSSSizeNonInterpolableValue); ...@@ -61,7 +61,7 @@ DEFINE_NON_INTERPOLABLE_VALUE_TYPE(CSSSizeNonInterpolableValue);
DEFINE_NON_INTERPOLABLE_VALUE_TYPE_CASTS(CSSSizeNonInterpolableValue); DEFINE_NON_INTERPOLABLE_VALUE_TYPE_CASTS(CSSSizeNonInterpolableValue);
static InterpolationValue ConvertKeyword(CSSValueID keyword) { static InterpolationValue ConvertKeyword(CSSValueID keyword) {
return InterpolationValue(InterpolableList::Create(0), return InterpolationValue(std::make_unique<InterpolableList>(0),
CSSSizeNonInterpolableValue::Create(keyword)); CSSSizeNonInterpolableValue::Create(keyword));
} }
......
...@@ -14,7 +14,7 @@ InterpolationValue ...@@ -14,7 +14,7 @@ InterpolationValue
SVGIntegerOptionalIntegerInterpolationType::MaybeConvertNeutral( SVGIntegerOptionalIntegerInterpolationType::MaybeConvertNeutral(
const InterpolationValue&, const InterpolationValue&,
ConversionCheckers&) const { ConversionCheckers&) const {
std::unique_ptr<InterpolableList> result = InterpolableList::Create(2); auto result = std::make_unique<InterpolableList>(2);
result->Set(0, std::make_unique<InterpolableNumber>(0)); result->Set(0, std::make_unique<InterpolableNumber>(0));
result->Set(1, std::make_unique<InterpolableNumber>(0)); result->Set(1, std::make_unique<InterpolableNumber>(0));
return InterpolationValue(std::move(result)); return InterpolationValue(std::move(result));
...@@ -28,7 +28,7 @@ SVGIntegerOptionalIntegerInterpolationType::MaybeConvertSVGValue( ...@@ -28,7 +28,7 @@ SVGIntegerOptionalIntegerInterpolationType::MaybeConvertSVGValue(
const SVGIntegerOptionalInteger& integer_optional_integer = const SVGIntegerOptionalInteger& integer_optional_integer =
ToSVGIntegerOptionalInteger(svg_value); ToSVGIntegerOptionalInteger(svg_value);
std::unique_ptr<InterpolableList> result = InterpolableList::Create(2); auto result = std::make_unique<InterpolableList>(2);
result->Set(0, std::make_unique<InterpolableNumber>( result->Set(0, std::make_unique<InterpolableNumber>(
integer_optional_integer.FirstInteger()->Value())); integer_optional_integer.FirstInteger()->Value()));
result->Set(1, std::make_unique<InterpolableNumber>( result->Set(1, std::make_unique<InterpolableNumber>(
......
...@@ -16,8 +16,8 @@ namespace blink { ...@@ -16,8 +16,8 @@ namespace blink {
std::unique_ptr<InterpolableValue> std::unique_ptr<InterpolableValue>
SVGLengthInterpolationType::NeutralInterpolableValue() { SVGLengthInterpolationType::NeutralInterpolableValue() {
std::unique_ptr<InterpolableList> list_of_values = auto list_of_values = std::make_unique<InterpolableList>(
InterpolableList::Create(CSSPrimitiveValue::kLengthUnitTypeCount); CSSPrimitiveValue::kLengthUnitTypeCount);
for (wtf_size_t i = 0; i < CSSPrimitiveValue::kLengthUnitTypeCount; ++i) for (wtf_size_t i = 0; i < CSSPrimitiveValue::kLengthUnitTypeCount; ++i)
list_of_values->Set(i, std::make_unique<InterpolableNumber>(0)); list_of_values->Set(i, std::make_unique<InterpolableNumber>(0));
...@@ -31,8 +31,8 @@ InterpolationValue SVGLengthInterpolationType::ConvertSVGLength( ...@@ -31,8 +31,8 @@ InterpolationValue SVGLengthInterpolationType::ConvertSVGLength(
CSSLengthArray length_array; CSSLengthArray length_array;
primitive_value.AccumulateLengthArray(length_array); primitive_value.AccumulateLengthArray(length_array);
std::unique_ptr<InterpolableList> list_of_values = auto list_of_values = std::make_unique<InterpolableList>(
InterpolableList::Create(CSSPrimitiveValue::kLengthUnitTypeCount); CSSPrimitiveValue::kLengthUnitTypeCount);
for (wtf_size_t i = 0; i < CSSPrimitiveValue::kLengthUnitTypeCount; ++i) { for (wtf_size_t i = 0; i < CSSPrimitiveValue::kLengthUnitTypeCount; ++i) {
list_of_values->Set( list_of_values->Set(
i, std::make_unique<InterpolableNumber>(length_array.values[i])); i, std::make_unique<InterpolableNumber>(length_array.values[i]));
......
...@@ -23,8 +23,7 @@ InterpolationValue SVGLengthListInterpolationType::MaybeConvertNeutral( ...@@ -23,8 +23,7 @@ InterpolationValue SVGLengthListInterpolationType::MaybeConvertNeutral(
if (underlying_length == 0) if (underlying_length == 0)
return nullptr; return nullptr;
std::unique_ptr<InterpolableList> result = auto result = std::make_unique<InterpolableList>(underlying_length);
InterpolableList::Create(underlying_length);
for (wtf_size_t i = 0; i < underlying_length; i++) for (wtf_size_t i = 0; i < underlying_length; i++)
result->Set(i, SVGLengthInterpolationType::NeutralInterpolableValue()); result->Set(i, SVGLengthInterpolationType::NeutralInterpolableValue());
return InterpolationValue(std::move(result)); return InterpolationValue(std::move(result));
...@@ -36,8 +35,7 @@ InterpolationValue SVGLengthListInterpolationType::MaybeConvertSVGValue( ...@@ -36,8 +35,7 @@ InterpolationValue SVGLengthListInterpolationType::MaybeConvertSVGValue(
return nullptr; return nullptr;
const SVGLengthList& length_list = ToSVGLengthList(svg_value); const SVGLengthList& length_list = ToSVGLengthList(svg_value);
std::unique_ptr<InterpolableList> result = auto result = std::make_unique<InterpolableList>(length_list.length());
InterpolableList::Create(length_list.length());
for (wtf_size_t i = 0; i < length_list.length(); i++) { for (wtf_size_t i = 0; i < length_list.length(); i++) {
InterpolationValue component = InterpolationValue component =
SVGLengthInterpolationType::ConvertSVGLength(*length_list.at(i)); SVGLengthInterpolationType::ConvertSVGLength(*length_list.at(i));
......
...@@ -22,8 +22,7 @@ InterpolationValue SVGNumberListInterpolationType::MaybeConvertNeutral( ...@@ -22,8 +22,7 @@ InterpolationValue SVGNumberListInterpolationType::MaybeConvertNeutral(
if (underlying_length == 0) if (underlying_length == 0)
return nullptr; return nullptr;
std::unique_ptr<InterpolableList> result = auto result = std::make_unique<InterpolableList>(underlying_length);
InterpolableList::Create(underlying_length);
for (wtf_size_t i = 0; i < underlying_length; i++) for (wtf_size_t i = 0; i < underlying_length; i++)
result->Set(i, std::make_unique<InterpolableNumber>(0)); result->Set(i, std::make_unique<InterpolableNumber>(0));
return InterpolationValue(std::move(result)); return InterpolationValue(std::move(result));
...@@ -35,8 +34,7 @@ InterpolationValue SVGNumberListInterpolationType::MaybeConvertSVGValue( ...@@ -35,8 +34,7 @@ InterpolationValue SVGNumberListInterpolationType::MaybeConvertSVGValue(
return nullptr; return nullptr;
const SVGNumberList& number_list = ToSVGNumberList(svg_value); const SVGNumberList& number_list = ToSVGNumberList(svg_value);
std::unique_ptr<InterpolableList> result = auto result = std::make_unique<InterpolableList>(number_list.length());
InterpolableList::Create(number_list.length());
for (wtf_size_t i = 0; i < number_list.length(); i++) { for (wtf_size_t i = 0; i < number_list.length(); i++) {
result->Set( result->Set(
i, std::make_unique<InterpolableNumber>(number_list.at(i)->Value())); i, std::make_unique<InterpolableNumber>(number_list.at(i)->Value()));
...@@ -61,8 +59,7 @@ static void PadWithZeroes(std::unique_ptr<InterpolableValue>& list_pointer, ...@@ -61,8 +59,7 @@ static void PadWithZeroes(std::unique_ptr<InterpolableValue>& list_pointer,
if (list.length() >= padded_length) if (list.length() >= padded_length)
return; return;
std::unique_ptr<InterpolableList> result = auto result = std::make_unique<InterpolableList>(padded_length);
InterpolableList::Create(padded_length);
wtf_size_t i = 0; wtf_size_t i = 0;
for (; i < list.length(); i++) for (; i < list.length(); i++)
result->Set(i, std::move(list.GetMutable(i))); result->Set(i, std::move(list.GetMutable(i)));
......
...@@ -14,7 +14,7 @@ InterpolationValue ...@@ -14,7 +14,7 @@ InterpolationValue
SVGNumberOptionalNumberInterpolationType::MaybeConvertNeutral( SVGNumberOptionalNumberInterpolationType::MaybeConvertNeutral(
const InterpolationValue&, const InterpolationValue&,
ConversionCheckers&) const { ConversionCheckers&) const {
std::unique_ptr<InterpolableList> result = InterpolableList::Create(2); auto result = std::make_unique<InterpolableList>(2);
result->Set(0, std::make_unique<InterpolableNumber>(0)); result->Set(0, std::make_unique<InterpolableNumber>(0));
result->Set(1, std::make_unique<InterpolableNumber>(0)); result->Set(1, std::make_unique<InterpolableNumber>(0));
return InterpolationValue(std::move(result)); return InterpolationValue(std::move(result));
...@@ -28,7 +28,7 @@ SVGNumberOptionalNumberInterpolationType::MaybeConvertSVGValue( ...@@ -28,7 +28,7 @@ SVGNumberOptionalNumberInterpolationType::MaybeConvertSVGValue(
const SVGNumberOptionalNumber& number_optional_number = const SVGNumberOptionalNumber& number_optional_number =
ToSVGNumberOptionalNumber(svg_value); ToSVGNumberOptionalNumber(svg_value);
std::unique_ptr<InterpolableList> result = InterpolableList::Create(2); auto result = std::make_unique<InterpolableList>(2);
result->Set(0, std::make_unique<InterpolableNumber>( result->Set(0, std::make_unique<InterpolableNumber>(
number_optional_number.FirstNumber()->Value())); number_optional_number.FirstNumber()->Value()));
result->Set(1, std::make_unique<InterpolableNumber>( result->Set(1, std::make_unique<InterpolableNumber>(
......
...@@ -44,7 +44,7 @@ std::unique_ptr<InterpolableValue> ConsumeClosePath( ...@@ -44,7 +44,7 @@ std::unique_ptr<InterpolableValue> ConsumeClosePath(
PathCoordinates& coordinates) { PathCoordinates& coordinates) {
coordinates.current_x = coordinates.initial_x; coordinates.current_x = coordinates.initial_x;
coordinates.current_y = coordinates.initial_y; coordinates.current_y = coordinates.initial_y;
return InterpolableList::Create(0); return std::make_unique<InterpolableList>(0);
} }
PathSegmentData ConsumeInterpolableClosePath(const InterpolableValue&, PathSegmentData ConsumeInterpolableClosePath(const InterpolableValue&,
...@@ -62,7 +62,7 @@ std::unique_ptr<InterpolableValue> ConsumeSingleCoordinate( ...@@ -62,7 +62,7 @@ std::unique_ptr<InterpolableValue> ConsumeSingleCoordinate(
const PathSegmentData& segment, const PathSegmentData& segment,
PathCoordinates& coordinates) { PathCoordinates& coordinates) {
bool is_absolute = IsAbsolutePathSegType(segment.command); bool is_absolute = IsAbsolutePathSegType(segment.command);
std::unique_ptr<InterpolableList> result = InterpolableList::Create(2); auto result = std::make_unique<InterpolableList>(2);
result->Set(0, ConsumeCoordinateAxis(segment.X(), is_absolute, result->Set(0, ConsumeCoordinateAxis(segment.X(), is_absolute,
coordinates.current_x)); coordinates.current_x));
result->Set(1, ConsumeCoordinateAxis(segment.Y(), is_absolute, result->Set(1, ConsumeCoordinateAxis(segment.Y(), is_absolute,
...@@ -105,7 +105,7 @@ std::unique_ptr<InterpolableValue> ConsumeCurvetoCubic( ...@@ -105,7 +105,7 @@ std::unique_ptr<InterpolableValue> ConsumeCurvetoCubic(
const PathSegmentData& segment, const PathSegmentData& segment,
PathCoordinates& coordinates) { PathCoordinates& coordinates) {
bool is_absolute = IsAbsolutePathSegType(segment.command); bool is_absolute = IsAbsolutePathSegType(segment.command);
std::unique_ptr<InterpolableList> result = InterpolableList::Create(6); auto result = std::make_unique<InterpolableList>(6);
result->Set( result->Set(
0, ConsumeControlAxis(segment.X1(), is_absolute, coordinates.current_x)); 0, ConsumeControlAxis(segment.X1(), is_absolute, coordinates.current_x));
result->Set( result->Set(
...@@ -147,7 +147,7 @@ std::unique_ptr<InterpolableValue> ConsumeCurvetoQuadratic( ...@@ -147,7 +147,7 @@ std::unique_ptr<InterpolableValue> ConsumeCurvetoQuadratic(
const PathSegmentData& segment, const PathSegmentData& segment,
PathCoordinates& coordinates) { PathCoordinates& coordinates) {
bool is_absolute = IsAbsolutePathSegType(segment.command); bool is_absolute = IsAbsolutePathSegType(segment.command);
std::unique_ptr<InterpolableList> result = InterpolableList::Create(4); auto result = std::make_unique<InterpolableList>(4);
result->Set( result->Set(
0, ConsumeControlAxis(segment.X1(), is_absolute, coordinates.current_x)); 0, ConsumeControlAxis(segment.X1(), is_absolute, coordinates.current_x));
result->Set( result->Set(
...@@ -181,7 +181,7 @@ PathSegmentData ConsumeInterpolableCurvetoQuadratic( ...@@ -181,7 +181,7 @@ PathSegmentData ConsumeInterpolableCurvetoQuadratic(
std::unique_ptr<InterpolableValue> ConsumeArc(const PathSegmentData& segment, std::unique_ptr<InterpolableValue> ConsumeArc(const PathSegmentData& segment,
PathCoordinates& coordinates) { PathCoordinates& coordinates) {
bool is_absolute = IsAbsolutePathSegType(segment.command); bool is_absolute = IsAbsolutePathSegType(segment.command);
std::unique_ptr<InterpolableList> result = InterpolableList::Create(7); auto result = std::make_unique<InterpolableList>(7);
result->Set(0, ConsumeCoordinateAxis(segment.X(), is_absolute, result->Set(0, ConsumeCoordinateAxis(segment.X(), is_absolute,
coordinates.current_x)); coordinates.current_x));
result->Set(1, ConsumeCoordinateAxis(segment.Y(), is_absolute, result->Set(1, ConsumeCoordinateAxis(segment.Y(), is_absolute,
...@@ -256,7 +256,7 @@ std::unique_ptr<InterpolableValue> ConsumeCurvetoCubicSmooth( ...@@ -256,7 +256,7 @@ std::unique_ptr<InterpolableValue> ConsumeCurvetoCubicSmooth(
const PathSegmentData& segment, const PathSegmentData& segment,
PathCoordinates& coordinates) { PathCoordinates& coordinates) {
bool is_absolute = IsAbsolutePathSegType(segment.command); bool is_absolute = IsAbsolutePathSegType(segment.command);
std::unique_ptr<InterpolableList> result = InterpolableList::Create(4); auto result = std::make_unique<InterpolableList>(4);
result->Set( result->Set(
0, ConsumeControlAxis(segment.X2(), is_absolute, coordinates.current_x)); 0, ConsumeControlAxis(segment.X2(), is_absolute, coordinates.current_x));
result->Set( result->Set(
......
...@@ -23,8 +23,7 @@ InterpolationValue SVGPointListInterpolationType::MaybeConvertNeutral( ...@@ -23,8 +23,7 @@ InterpolationValue SVGPointListInterpolationType::MaybeConvertNeutral(
if (underlying_length == 0) if (underlying_length == 0)
return nullptr; return nullptr;
std::unique_ptr<InterpolableList> result = auto result = std::make_unique<InterpolableList>(underlying_length);
InterpolableList::Create(underlying_length);
for (wtf_size_t i = 0; i < underlying_length; i++) for (wtf_size_t i = 0; i < underlying_length; i++)
result->Set(i, std::make_unique<InterpolableNumber>(0)); result->Set(i, std::make_unique<InterpolableNumber>(0));
return InterpolationValue(std::move(result)); return InterpolationValue(std::move(result));
...@@ -36,8 +35,7 @@ InterpolationValue SVGPointListInterpolationType::MaybeConvertSVGValue( ...@@ -36,8 +35,7 @@ InterpolationValue SVGPointListInterpolationType::MaybeConvertSVGValue(
return nullptr; return nullptr;
const SVGPointList& point_list = ToSVGPointList(svg_value); const SVGPointList& point_list = ToSVGPointList(svg_value);
std::unique_ptr<InterpolableList> result = auto result = std::make_unique<InterpolableList>(point_list.length() * 2);
InterpolableList::Create(point_list.length() * 2);
for (wtf_size_t i = 0; i < point_list.length(); i++) { for (wtf_size_t i = 0; i < point_list.length(); i++) {
const SVGPoint& point = *point_list.at(i); const SVGPoint& point = *point_list.at(i);
result->Set(2 * i, std::make_unique<InterpolableNumber>(point.X())); result->Set(2 * i, std::make_unique<InterpolableNumber>(point.X()));
......
...@@ -22,8 +22,7 @@ enum RectComponentIndex : unsigned { ...@@ -22,8 +22,7 @@ enum RectComponentIndex : unsigned {
InterpolationValue SVGRectInterpolationType::MaybeConvertNeutral( InterpolationValue SVGRectInterpolationType::MaybeConvertNeutral(
const InterpolationValue&, const InterpolationValue&,
ConversionCheckers&) const { ConversionCheckers&) const {
std::unique_ptr<InterpolableList> result = auto result = std::make_unique<InterpolableList>(kRectComponentIndexCount);
InterpolableList::Create(kRectComponentIndexCount);
for (wtf_size_t i = 0; i < kRectComponentIndexCount; i++) for (wtf_size_t i = 0; i < kRectComponentIndexCount; i++)
result->Set(i, std::make_unique<InterpolableNumber>(0)); result->Set(i, std::make_unique<InterpolableNumber>(0));
return InterpolationValue(std::move(result)); return InterpolationValue(std::move(result));
...@@ -35,8 +34,7 @@ InterpolationValue SVGRectInterpolationType::MaybeConvertSVGValue( ...@@ -35,8 +34,7 @@ InterpolationValue SVGRectInterpolationType::MaybeConvertSVGValue(
return nullptr; return nullptr;
const SVGRect& rect = ToSVGRect(svg_value); const SVGRect& rect = ToSVGRect(svg_value);
std::unique_ptr<InterpolableList> result = auto result = std::make_unique<InterpolableList>(kRectComponentIndexCount);
InterpolableList::Create(kRectComponentIndexCount);
result->Set(kRectX, std::make_unique<InterpolableNumber>(rect.X())); result->Set(kRectX, std::make_unique<InterpolableNumber>(rect.X()));
result->Set(kRectY, std::make_unique<InterpolableNumber>(rect.Y())); result->Set(kRectY, std::make_unique<InterpolableNumber>(rect.Y()));
result->Set(kRectWidth, std::make_unique<InterpolableNumber>(rect.Width())); result->Set(kRectWidth, std::make_unique<InterpolableNumber>(rect.Width()));
......
...@@ -49,7 +49,7 @@ namespace { ...@@ -49,7 +49,7 @@ namespace {
std::unique_ptr<InterpolableValue> TranslateToInterpolableValue( std::unique_ptr<InterpolableValue> TranslateToInterpolableValue(
SVGTransform* transform) { SVGTransform* transform) {
FloatPoint translate = transform->Translate(); FloatPoint translate = transform->Translate();
std::unique_ptr<InterpolableList> result = InterpolableList::Create(2); auto result = std::make_unique<InterpolableList>(2);
result->Set(0, std::make_unique<InterpolableNumber>(translate.X())); result->Set(0, std::make_unique<InterpolableNumber>(translate.X()));
result->Set(1, std::make_unique<InterpolableNumber>(translate.Y())); result->Set(1, std::make_unique<InterpolableNumber>(translate.Y()));
return std::move(result); return std::move(result);
...@@ -67,7 +67,7 @@ SVGTransform* TranslateFromInterpolableValue(const InterpolableValue& value) { ...@@ -67,7 +67,7 @@ SVGTransform* TranslateFromInterpolableValue(const InterpolableValue& value) {
std::unique_ptr<InterpolableValue> ScaleToInterpolableValue( std::unique_ptr<InterpolableValue> ScaleToInterpolableValue(
SVGTransform* transform) { SVGTransform* transform) {
FloatSize scale = transform->Scale(); FloatSize scale = transform->Scale();
std::unique_ptr<InterpolableList> result = InterpolableList::Create(2); auto result = std::make_unique<InterpolableList>(2);
result->Set(0, std::make_unique<InterpolableNumber>(scale.Width())); result->Set(0, std::make_unique<InterpolableNumber>(scale.Width()));
result->Set(1, std::make_unique<InterpolableNumber>(scale.Height())); result->Set(1, std::make_unique<InterpolableNumber>(scale.Height()));
return std::move(result); return std::move(result);
...@@ -85,7 +85,7 @@ SVGTransform* ScaleFromInterpolableValue(const InterpolableValue& value) { ...@@ -85,7 +85,7 @@ SVGTransform* ScaleFromInterpolableValue(const InterpolableValue& value) {
std::unique_ptr<InterpolableValue> RotateToInterpolableValue( std::unique_ptr<InterpolableValue> RotateToInterpolableValue(
SVGTransform* transform) { SVGTransform* transform) {
FloatPoint rotation_center = transform->RotationCenter(); FloatPoint rotation_center = transform->RotationCenter();
std::unique_ptr<InterpolableList> result = InterpolableList::Create(3); auto result = std::make_unique<InterpolableList>(3);
result->Set(0, std::make_unique<InterpolableNumber>(transform->Angle())); result->Set(0, std::make_unique<InterpolableNumber>(transform->Angle()));
result->Set(1, std::make_unique<InterpolableNumber>(rotation_center.X())); result->Set(1, std::make_unique<InterpolableNumber>(rotation_center.X()));
result->Set(2, std::make_unique<InterpolableNumber>(rotation_center.Y())); result->Set(2, std::make_unique<InterpolableNumber>(rotation_center.Y()));
...@@ -212,8 +212,7 @@ InterpolationValue SVGTransformListInterpolationType::MaybeConvertSVGValue( ...@@ -212,8 +212,7 @@ InterpolationValue SVGTransformListInterpolationType::MaybeConvertSVGValue(
return nullptr; return nullptr;
const SVGTransformList& svg_list = ToSVGTransformList(svg_value); const SVGTransformList& svg_list = ToSVGTransformList(svg_value);
std::unique_ptr<InterpolableList> result = auto result = std::make_unique<InterpolableList>(svg_list.length());
InterpolableList::Create(svg_list.length());
Vector<SVGTransformType> transform_types; Vector<SVGTransformType> transform_types;
for (wtf_size_t i = 0; i < svg_list.length(); i++) { for (wtf_size_t i = 0; i < svg_list.length(); i++) {
...@@ -262,8 +261,7 @@ InterpolationValue SVGTransformListInterpolationType::MaybeConvertSingle( ...@@ -262,8 +261,7 @@ InterpolationValue SVGTransformListInterpolationType::MaybeConvertSingle(
interpolable_parts.push_back(std::move(value.interpolable_value)); interpolable_parts.push_back(std::move(value.interpolable_value));
} }
std::unique_ptr<InterpolableList> interpolable_list = auto interpolable_list = std::make_unique<InterpolableList>(types.size());
InterpolableList::Create(types.size());
wtf_size_t interpolable_list_index = 0; wtf_size_t interpolable_list_index = 0;
for (auto& part : interpolable_parts) { for (auto& part : interpolable_parts) {
InterpolableList& list = ToInterpolableList(*part); InterpolableList& list = ToInterpolableList(*part);
......
...@@ -38,7 +38,7 @@ InterpolationValue SVGValueInterpolationType::MaybeConvertSVGValue( ...@@ -38,7 +38,7 @@ InterpolationValue SVGValueInterpolationType::MaybeConvertSVGValue(
SVGPropertyBase* referenced_value = SVGPropertyBase* referenced_value =
const_cast<SVGPropertyBase*>(&value); // Take ref. const_cast<SVGPropertyBase*>(&value); // Take ref.
return InterpolationValue( return InterpolationValue(
InterpolableList::Create(0), std::make_unique<InterpolableList>(0),
SVGValueNonInterpolableValue::Create(referenced_value)); SVGValueNonInterpolableValue::Create(referenced_value));
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment