| Index: third_party/WebKit/Source/core/animation/PrimitiveInterpolation.h
|
| diff --git a/third_party/WebKit/Source/core/animation/PrimitiveInterpolation.h b/third_party/WebKit/Source/core/animation/PrimitiveInterpolation.h
|
| index cc07984c426c85eb0fc542a2efd16fb8be96a1f2..5a74b4be30e4e3ff4ad41752785bbcb3317b5935 100644
|
| --- a/third_party/WebKit/Source/core/animation/PrimitiveInterpolation.h
|
| +++ b/third_party/WebKit/Source/core/animation/PrimitiveInterpolation.h
|
| @@ -8,8 +8,10 @@
|
| #include "core/animation/TypedInterpolationValue.h"
|
| #include "platform/animation/AnimationUtilities.h"
|
| #include "platform/heap/Handle.h"
|
| +#include "wtf/PtrUtil.h"
|
| #include "wtf/Vector.h"
|
| #include <cmath>
|
| +#include <memory>
|
|
|
| namespace blink {
|
|
|
| @@ -23,7 +25,7 @@ class PrimitiveInterpolation {
|
| public:
|
| virtual ~PrimitiveInterpolation() { }
|
|
|
| - virtual void interpolateValue(double fraction, OwnPtr<TypedInterpolationValue>& result) const = 0;
|
| + virtual void interpolateValue(double fraction, std::unique_ptr<TypedInterpolationValue>& result) const = 0;
|
| virtual double interpolateUnderlyingFraction(double start, double end, double fraction) const = 0;
|
| virtual bool isFlip() const { return false; }
|
|
|
| @@ -36,20 +38,20 @@ class PairwisePrimitiveInterpolation : public PrimitiveInterpolation {
|
| public:
|
| ~PairwisePrimitiveInterpolation() override { }
|
|
|
| - static PassOwnPtr<PairwisePrimitiveInterpolation> create(const InterpolationType& type, PassOwnPtr<InterpolableValue> start, PassOwnPtr<InterpolableValue> end, PassRefPtr<NonInterpolableValue> nonInterpolableValue)
|
| + static std::unique_ptr<PairwisePrimitiveInterpolation> create(const InterpolationType& type, std::unique_ptr<InterpolableValue> start, std::unique_ptr<InterpolableValue> end, PassRefPtr<NonInterpolableValue> nonInterpolableValue)
|
| {
|
| - return adoptPtr(new PairwisePrimitiveInterpolation(type, std::move(start), std::move(end), nonInterpolableValue));
|
| + return wrapUnique(new PairwisePrimitiveInterpolation(type, std::move(start), std::move(end), nonInterpolableValue));
|
| }
|
|
|
| const InterpolationType& type() const { return m_type; }
|
|
|
| - PassOwnPtr<TypedInterpolationValue> initialValue() const
|
| + std::unique_ptr<TypedInterpolationValue> initialValue() const
|
| {
|
| return TypedInterpolationValue::create(m_type, m_start->clone(), m_nonInterpolableValue);
|
| }
|
|
|
| private:
|
| - PairwisePrimitiveInterpolation(const InterpolationType& type, PassOwnPtr<InterpolableValue> start, PassOwnPtr<InterpolableValue> end, PassRefPtr<NonInterpolableValue> nonInterpolableValue)
|
| + PairwisePrimitiveInterpolation(const InterpolationType& type, std::unique_ptr<InterpolableValue> start, std::unique_ptr<InterpolableValue> end, PassRefPtr<NonInterpolableValue> nonInterpolableValue)
|
| : m_type(type)
|
| , m_start(std::move(start))
|
| , m_end(std::move(end))
|
| @@ -59,7 +61,7 @@ private:
|
| ASSERT(m_end);
|
| }
|
|
|
| - void interpolateValue(double fraction, OwnPtr<TypedInterpolationValue>& result) const final
|
| + void interpolateValue(double fraction, std::unique_ptr<TypedInterpolationValue>& result) const final
|
| {
|
| ASSERT(result);
|
| ASSERT(&result->type() == &m_type);
|
| @@ -70,8 +72,8 @@ private:
|
| double interpolateUnderlyingFraction(double start, double end, double fraction) const final { return blend(start, end, fraction); }
|
|
|
| const InterpolationType& m_type;
|
| - OwnPtr<InterpolableValue> m_start;
|
| - OwnPtr<InterpolableValue> m_end;
|
| + std::unique_ptr<InterpolableValue> m_start;
|
| + std::unique_ptr<InterpolableValue> m_end;
|
| RefPtr<NonInterpolableValue> m_nonInterpolableValue;
|
| };
|
|
|
| @@ -80,19 +82,19 @@ class FlipPrimitiveInterpolation : public PrimitiveInterpolation {
|
| public:
|
| ~FlipPrimitiveInterpolation() override { }
|
|
|
| - static PassOwnPtr<FlipPrimitiveInterpolation> create(PassOwnPtr<TypedInterpolationValue> start, PassOwnPtr<TypedInterpolationValue> end)
|
| + static std::unique_ptr<FlipPrimitiveInterpolation> create(std::unique_ptr<TypedInterpolationValue> start, std::unique_ptr<TypedInterpolationValue> end)
|
| {
|
| - return adoptPtr(new FlipPrimitiveInterpolation(std::move(start), std::move(end)));
|
| + return wrapUnique(new FlipPrimitiveInterpolation(std::move(start), std::move(end)));
|
| }
|
|
|
| private:
|
| - FlipPrimitiveInterpolation(PassOwnPtr<TypedInterpolationValue> start, PassOwnPtr<TypedInterpolationValue> end)
|
| + FlipPrimitiveInterpolation(std::unique_ptr<TypedInterpolationValue> start, std::unique_ptr<TypedInterpolationValue> end)
|
| : m_start(std::move(start))
|
| , m_end(std::move(end))
|
| , m_lastFraction(std::numeric_limits<double>::quiet_NaN())
|
| { }
|
|
|
| - void interpolateValue(double fraction, OwnPtr<TypedInterpolationValue>& result) const final
|
| + void interpolateValue(double fraction, std::unique_ptr<TypedInterpolationValue>& result) const final
|
| {
|
| // TODO(alancutter): Remove this optimisation once Oilpan is default.
|
| if (!std::isnan(m_lastFraction) && (fraction < 0.5) == (m_lastFraction < 0.5))
|
| @@ -106,8 +108,8 @@ private:
|
|
|
| bool isFlip() const final { return true; }
|
|
|
| - OwnPtr<TypedInterpolationValue> m_start;
|
| - OwnPtr<TypedInterpolationValue> m_end;
|
| + std::unique_ptr<TypedInterpolationValue> m_start;
|
| + std::unique_ptr<TypedInterpolationValue> m_end;
|
| mutable double m_lastFraction;
|
| };
|
|
|
|
|