| 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
 | 
| 
 |