Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1597)

Unified Diff: Source/core/svg/SVGMatrixTearOff.h

Issue 678163002: Oilpan: move SVG property hierarchy to the heap. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Rebased upto r185213 Created 6 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « Source/core/svg/SVGMatrix.idl ('k') | Source/core/svg/SVGMatrixTearOff.cpp » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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
« no previous file with comments | « Source/core/svg/SVGMatrix.idl ('k') | Source/core/svg/SVGMatrixTearOff.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698