| Index: Source/core/animation/InterpolableValue.h
|
| diff --git a/Source/core/animation/InterpolableValue.h b/Source/core/animation/InterpolableValue.h
|
| index 61cc73ad7ac50b76207c6270e022a82eab24b026..65c20eb8360cce0cb0e48d90b614a8815cae6ecc 100644
|
| --- a/Source/core/animation/InterpolableValue.h
|
| +++ b/Source/core/animation/InterpolableValue.h
|
| @@ -5,6 +5,7 @@
|
| #ifndef InterpolableValue_h
|
| #define InterpolableValue_h
|
|
|
| +#include "core/CoreExport.h"
|
| #include "core/animation/animatable/AnimatableValue.h"
|
| #include "platform/heap/Handle.h"
|
| #include "wtf/OwnPtr.h"
|
| @@ -13,7 +14,7 @@
|
|
|
| namespace blink {
|
|
|
| -class InterpolableValue : public NoBaseWillBeGarbageCollected<InterpolableValue> {
|
| +class CORE_EXPORT InterpolableValue : public NoBaseWillBeGarbageCollected<InterpolableValue> {
|
| DECLARE_EMPTY_VIRTUAL_DESTRUCTOR_WILL_BE_REMOVED(InterpolableValue);
|
| public:
|
| virtual bool isNumber() const { return false; }
|
| @@ -42,7 +43,7 @@ private:
|
| friend class AnimationInterpolableValueTest;
|
| };
|
|
|
| -class InterpolableNumber final : public InterpolableValue {
|
| +class CORE_EXPORT InterpolableNumber final : public InterpolableValue {
|
| public:
|
| static PassOwnPtrWillBeRawPtr<InterpolableNumber> create(double value)
|
| {
|
| @@ -66,7 +67,7 @@ private:
|
|
|
| };
|
|
|
| -class InterpolableBool final : public InterpolableValue {
|
| +class CORE_EXPORT InterpolableBool final : public InterpolableValue {
|
| public:
|
| static PassOwnPtrWillBeRawPtr<InterpolableBool> create(bool value)
|
| {
|
| @@ -90,8 +91,16 @@ private:
|
|
|
| };
|
|
|
| -class InterpolableList : public InterpolableValue {
|
| +class CORE_EXPORT InterpolableList : public InterpolableValue {
|
| public:
|
| + // Explicitly delete operator= because MSVC automatically generate
|
| + // copy constructors and operator= for dll-exported classes.
|
| + // Since InterpolableList is not copyable, automatically generated
|
| + // operator= causes MSVC compiler error.
|
| + // However, we cannot use WTF_MAKE_NONCOPYABLE because InterpolableList
|
| + // has its own copy constructor. So just delete operator= here.
|
| + InterpolableList& operator=(const InterpolableList&) = delete;
|
| +
|
| static PassOwnPtrWillBeRawPtr<InterpolableList> create(const InterpolableList &other)
|
| {
|
| return adoptPtrWillBeNoop(new InterpolableList(other));
|
|
|