Index: Source/core/animation/animatable/AnimatableStrokeDasharrayList.cpp |
diff --git a/Source/core/animation/animatable/AnimatableStrokeDasharrayList.cpp b/Source/core/animation/animatable/AnimatableStrokeDasharrayList.cpp |
index 360a25ebfd35cb3381f94f6b991bb179e55006cd..1c84a7c38bafae42a066341a28c7841402f67287 100644 |
--- a/Source/core/animation/animatable/AnimatableStrokeDasharrayList.cpp |
+++ b/Source/core/animation/animatable/AnimatableStrokeDasharrayList.cpp |
@@ -31,28 +31,22 @@ |
#include "config.h" |
#include "core/animation/animatable/AnimatableStrokeDasharrayList.h" |
-#include "core/animation/animatable/AnimatableSVGLength.h" |
+#include "core/animation/animatable/AnimatableLength.h" |
namespace blink { |
-AnimatableStrokeDasharrayList::AnimatableStrokeDasharrayList(PassRefPtrWillBeRawPtr<SVGLengthList> passLengths) |
+AnimatableStrokeDasharrayList::AnimatableStrokeDasharrayList(PassRefPtr<SVGDashArray> passLengths, float zoom) |
{ |
- RefPtrWillBeRawPtr<SVGLengthList> lengths = passLengths; |
- SVGLengthList::ConstIterator it = lengths->begin(); |
- SVGLengthList::ConstIterator itEnd = lengths->end(); |
- for (; it != itEnd; ++it) |
- m_values.append(AnimatableSVGLength::create(*it)); |
+ RefPtr<SVGDashArray> lengths = passLengths; |
+ for (const Length& dashLength : lengths->vector()) |
+ m_values.append(AnimatableLength::create(dashLength, zoom)); |
} |
-PassRefPtrWillBeRawPtr<SVGLengthList> AnimatableStrokeDasharrayList::toSVGLengthList() const |
+PassRefPtr<SVGDashArray> AnimatableStrokeDasharrayList::toSVGDashArray(float zoom) const |
{ |
- RefPtrWillBeRawPtr<SVGLengthList> lengths = SVGLengthList::create(); |
- for (size_t i = 0; i < m_values.size(); ++i) { |
- RefPtrWillBeRawPtr<SVGLength> length = toAnimatableSVGLength(m_values[i].get())->toSVGLength()->clone(); |
- if (length->valueInSpecifiedUnits() < 0) |
- length->setValueInSpecifiedUnits(0); |
- lengths->append(length); |
- } |
+ RefPtr<SVGDashArray> lengths = SVGDashArray::create(); |
+ for (const auto& dashLength : m_values) |
+ lengths->append(toAnimatableLength(dashLength.get())->length(zoom, ValueRangeNonNegative)); |
return lengths.release(); |
} |
@@ -79,7 +73,7 @@ PassRefPtrWillBeRawPtr<AnimatableValue> AnimatableStrokeDasharrayList::interpola |
if (from.isEmpty() && to.isEmpty()) |
return takeConstRef(this); |
if (from.isEmpty() || to.isEmpty()) { |
- DEFINE_STATIC_REF_WILL_BE_PERSISTENT(AnimatableSVGLength, zeroPixels, (AnimatableSVGLength::create(SVGLength::create()))); |
+ DEFINE_STATIC_REF_WILL_BE_PERSISTENT(AnimatableLength, zeroPixels, (AnimatableLength::create(Length(Fixed), 1))); |
if (from.isEmpty()) { |
from.append(zeroPixels); |
from.append(zeroPixels); |