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

Side by Side Diff: Source/core/svg/SVGTransformTearOff.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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « Source/core/svg/SVGTransformListTearOff.cpp ('k') | Source/core/svg/SVGTransformTearOff.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2014 Google Inc. All rights reserved. 2 * Copyright (C) 2014 Google Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions are 5 * modification, are permitted provided that the following conditions are
6 * met: 6 * met:
7 * 7 *
8 * * Redistributions of source code must retain the above copyright 8 * * Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer. 9 * notice, this list of conditions and the following disclaimer.
10 * * Redistributions in binary form must reproduce the above 10 * * Redistributions in binary form must reproduce the above
(...skipping 17 matching lines...) Expand all
28 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 28 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29 */ 29 */
30 30
31 #ifndef SVGTransformTearOff_h 31 #ifndef SVGTransformTearOff_h
32 #define SVGTransformTearOff_h 32 #define SVGTransformTearOff_h
33 33
34 #include "bindings/core/v8/ScriptWrappable.h" 34 #include "bindings/core/v8/ScriptWrappable.h"
35 #include "core/svg/SVGMatrixTearOff.h" 35 #include "core/svg/SVGMatrixTearOff.h"
36 #include "core/svg/SVGTransform.h" 36 #include "core/svg/SVGTransform.h"
37 #include "core/svg/properties/SVGPropertyTearOff.h" 37 #include "core/svg/properties/SVGPropertyTearOff.h"
38 #include "platform/heap/Handle.h"
38 39
39 namespace blink { 40 namespace blink {
40 41
41 class SVGTransformTearOff final : public SVGPropertyTearOff<SVGTransform>, publi c ScriptWrappable { 42 class SVGTransformTearOff final : public SVGPropertyTearOff<SVGTransform>, publi c ScriptWrappable {
42 DEFINE_WRAPPERTYPEINFO(); 43 DEFINE_WRAPPERTYPEINFO();
43 public: 44 public:
44 enum SVGTransformType { 45 enum SVGTransformType {
45 SVG_TRANSFORM_UNKNOWN = blink::SVG_TRANSFORM_UNKNOWN, 46 SVG_TRANSFORM_UNKNOWN = blink::SVG_TRANSFORM_UNKNOWN,
46 SVG_TRANSFORM_MATRIX = blink::SVG_TRANSFORM_MATRIX, 47 SVG_TRANSFORM_MATRIX = blink::SVG_TRANSFORM_MATRIX,
47 SVG_TRANSFORM_TRANSLATE = blink::SVG_TRANSFORM_TRANSLATE, 48 SVG_TRANSFORM_TRANSLATE = blink::SVG_TRANSFORM_TRANSLATE,
48 SVG_TRANSFORM_SCALE = blink::SVG_TRANSFORM_SCALE, 49 SVG_TRANSFORM_SCALE = blink::SVG_TRANSFORM_SCALE,
49 SVG_TRANSFORM_ROTATE = blink::SVG_TRANSFORM_ROTATE, 50 SVG_TRANSFORM_ROTATE = blink::SVG_TRANSFORM_ROTATE,
50 SVG_TRANSFORM_SKEWX = blink::SVG_TRANSFORM_SKEWX, 51 SVG_TRANSFORM_SKEWX = blink::SVG_TRANSFORM_SKEWX,
51 SVG_TRANSFORM_SKEWY = blink::SVG_TRANSFORM_SKEWY, 52 SVG_TRANSFORM_SKEWY = blink::SVG_TRANSFORM_SKEWY,
52 }; 53 };
53 54
54 static PassRefPtr<SVGTransformTearOff> create(PassRefPtr<SVGTransform> targe t, SVGElement* contextElement, PropertyIsAnimValType propertyIsAnimVal, const Qu alifiedName& attributeName = QualifiedName::null()) 55 static PassRefPtrWillBeRawPtr<SVGTransformTearOff> create(PassRefPtrWillBeRa wPtr<SVGTransform> target, SVGElement* contextElement, PropertyIsAnimValType pro pertyIsAnimVal, const QualifiedName& attributeName = QualifiedName::null())
55 { 56 {
56 return adoptRef(new SVGTransformTearOff(target, contextElement, property IsAnimVal, attributeName)); 57 return adoptRefWillBeNoop(new SVGTransformTearOff(target, contextElement , propertyIsAnimVal, attributeName));
57 } 58 }
58 59
59 virtual ~SVGTransformTearOff(); 60 virtual ~SVGTransformTearOff();
60 61
61 unsigned short transformType() { return target()->transformType(); } 62 unsigned short transformType() { return target()->transformType(); }
62 SVGMatrixTearOff* matrix(); 63 SVGMatrixTearOff* matrix();
63 float angle() { return target()->angle(); } 64 float angle() { return target()->angle(); }
64 65
65 void setMatrix(PassRefPtr<SVGMatrixTearOff>, ExceptionState&); 66 void setMatrix(PassRefPtrWillBeRawPtr<SVGMatrixTearOff>, ExceptionState&);
66 void setTranslate(float tx, float ty, ExceptionState&); 67 void setTranslate(float tx, float ty, ExceptionState&);
67 void setScale(float sx, float sy, ExceptionState&); 68 void setScale(float sx, float sy, ExceptionState&);
68 void setRotate(float angle, float cx, float cy, ExceptionState&); 69 void setRotate(float angle, float cx, float cy, ExceptionState&);
69 void setSkewX(float, ExceptionState&); 70 void setSkewX(float, ExceptionState&);
70 void setSkewY(float, ExceptionState&); 71 void setSkewY(float, ExceptionState&);
71 72
73 virtual void trace(Visitor*) override;
74
72 private: 75 private:
73 SVGTransformTearOff(PassRefPtr<SVGTransform>, SVGElement* contextElement, Pr opertyIsAnimValType, const QualifiedName& attributeName); 76 SVGTransformTearOff(PassRefPtrWillBeRawPtr<SVGTransform>, SVGElement* contex tElement, PropertyIsAnimValType, const QualifiedName& attributeName);
74 77
75 RefPtr<SVGMatrixTearOff> m_matrixTearoff; 78 RefPtrWillBeMember<SVGMatrixTearOff> m_matrixTearoff;
76 }; 79 };
77 80
78 } // namespace blink 81 } // namespace blink
79 82
80 #endif // SVGTransformTearOff_h 83 #endif // SVGTransformTearOff_h
OLDNEW
« no previous file with comments | « Source/core/svg/SVGTransformListTearOff.cpp ('k') | Source/core/svg/SVGTransformTearOff.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698