| Index: Source/core/svg/SVGMatrixTearOff.h
|
| diff --git a/Source/core/svg/SVGMatrixTearOff.h b/Source/core/svg/SVGMatrixTearOff.h
|
| index c15eb601cbf16a5373940810bb896d9760777db7..17781b21b7df0b1f094c998c986ce8cbd0c566f2 100644
|
| --- a/Source/core/svg/SVGMatrixTearOff.h
|
| +++ b/Source/core/svg/SVGMatrixTearOff.h
|
| @@ -33,6 +33,7 @@
|
|
|
| #include "bindings/core/v8/ExceptionState.h"
|
| #include "bindings/core/v8/ScriptWrappable.h"
|
| +#include "platform/heap/Handle.h"
|
| #include "platform/transforms/AffineTransform.h"
|
| #include "wtf/RefCounted.h"
|
|
|
| @@ -43,17 +44,17 @@ class SVGTransformTearOff;
|
| // SVGMatrixTearOff wraps a AffineTransform for Javascript.
|
| // Its instance can either hold a static value, or this can be teared off from |SVGTransform.matrix|.
|
| // This does not derive from SVGPropertyTearOff, as its instances are never tied to an animated property nor an XML attribute.
|
| -class SVGMatrixTearOff final : public RefCounted<SVGMatrixTearOff>, public ScriptWrappable {
|
| +class SVGMatrixTearOff final : public RefCountedWillBeGarbageCollectedFinalized<SVGMatrixTearOff>, public ScriptWrappable {
|
| DEFINE_WRAPPERTYPEINFO();
|
| public:
|
| - static PassRefPtr<SVGMatrixTearOff> create(const AffineTransform& value)
|
| + static PassRefPtrWillBeRawPtr<SVGMatrixTearOff> create(const AffineTransform& value)
|
| {
|
| - return adoptRef(new SVGMatrixTearOff(value));
|
| + return adoptRefWillBeNoop(new SVGMatrixTearOff(value));
|
| }
|
|
|
| - static PassRefPtr<SVGMatrixTearOff> create(SVGTransformTearOff* target)
|
| + static PassRefPtrWillBeRawPtr<SVGMatrixTearOff> create(SVGTransformTearOff* target)
|
| {
|
| - return adoptRef(new SVGMatrixTearOff(target));
|
| + return adoptRefWillBeNoop(new SVGMatrixTearOff(target));
|
| }
|
|
|
| ~SVGMatrixTearOff();
|
| @@ -72,33 +73,34 @@ public:
|
| void setE(double, ExceptionState&);
|
| void setF(double, ExceptionState&);
|
|
|
| - PassRefPtr<SVGMatrixTearOff> translate(double tx, double ty);
|
| - PassRefPtr<SVGMatrixTearOff> scale(double);
|
| - PassRefPtr<SVGMatrixTearOff> scaleNonUniform(double sx, double sy);
|
| - PassRefPtr<SVGMatrixTearOff> rotate(double);
|
| - PassRefPtr<SVGMatrixTearOff> flipX();
|
| - PassRefPtr<SVGMatrixTearOff> flipY();
|
| - PassRefPtr<SVGMatrixTearOff> skewX(double);
|
| - PassRefPtr<SVGMatrixTearOff> skewY(double);
|
| - PassRefPtr<SVGMatrixTearOff> multiply(PassRefPtr<SVGMatrixTearOff>);
|
| - PassRefPtr<SVGMatrixTearOff> inverse(ExceptionState&);
|
| - PassRefPtr<SVGMatrixTearOff> rotateFromVector(double x, double y, ExceptionState&);
|
| + PassRefPtrWillBeRawPtr<SVGMatrixTearOff> translate(double tx, double ty);
|
| + PassRefPtrWillBeRawPtr<SVGMatrixTearOff> scale(double);
|
| + PassRefPtrWillBeRawPtr<SVGMatrixTearOff> scaleNonUniform(double sx, double sy);
|
| + PassRefPtrWillBeRawPtr<SVGMatrixTearOff> rotate(double);
|
| + PassRefPtrWillBeRawPtr<SVGMatrixTearOff> flipX();
|
| + PassRefPtrWillBeRawPtr<SVGMatrixTearOff> flipY();
|
| + PassRefPtrWillBeRawPtr<SVGMatrixTearOff> skewX(double);
|
| + PassRefPtrWillBeRawPtr<SVGMatrixTearOff> skewY(double);
|
| + PassRefPtrWillBeRawPtr<SVGMatrixTearOff> multiply(PassRefPtrWillBeRawPtr<SVGMatrixTearOff>);
|
| + PassRefPtrWillBeRawPtr<SVGMatrixTearOff> inverse(ExceptionState&);
|
| + PassRefPtrWillBeRawPtr<SVGMatrixTearOff> rotateFromVector(double x, double y, ExceptionState&);
|
|
|
| SVGTransformTearOff* contextTransform() { return m_contextTransform; }
|
|
|
| const AffineTransform& value() const;
|
|
|
| + virtual void trace(Visitor*);
|
| +
|
| private:
|
| - SVGMatrixTearOff(const AffineTransform&);
|
| - SVGMatrixTearOff(SVGTransformTearOff*);
|
| + explicit SVGMatrixTearOff(const AffineTransform&);
|
| + explicit SVGMatrixTearOff(SVGTransformTearOff*);
|
|
|
| AffineTransform* mutableValue();
|
| void commitChange();
|
|
|
| AffineTransform m_staticValue;
|
|
|
| - // FIXME: oilpan: This is raw-ptr to avoid reference cycles. Should be Member in oilpan.
|
| - SVGTransformTearOff* m_contextTransform;
|
| + RawPtrWillBeMember<SVGTransformTearOff> m_contextTransform;
|
| };
|
|
|
| } // namespace blink
|
|
|