Index: Source/core/svg/PatternAttributes.h |
diff --git a/Source/core/svg/PatternAttributes.h b/Source/core/svg/PatternAttributes.h |
index f7378e4905661486cef1eb5c7d11a11140863880..779e2355f984224f47223d343f15c3ba80ebaebc 100644 |
--- a/Source/core/svg/PatternAttributes.h |
+++ b/Source/core/svg/PatternAttributes.h |
@@ -22,13 +22,16 @@ |
#include "core/svg/SVGLength.h" |
#include "core/svg/SVGPreserveAspectRatio.h" |
+#include "platform/heap/Handle.h" |
#include "platform/transforms/AffineTransform.h" |
namespace blink { |
class SVGPatternElement; |
-struct PatternAttributes { |
+class PatternAttributes final { |
+ DISALLOW_ALLOCATION(); |
+public: |
PatternAttributes() |
: m_x(SVGLength::create(LengthModeWidth)) |
, m_y(SVGLength::create(LengthModeHeight)) |
@@ -38,7 +41,7 @@ struct PatternAttributes { |
, m_preserveAspectRatio(SVGPreserveAspectRatio::create()) |
, m_patternUnits(SVGUnitTypes::SVG_UNIT_TYPE_OBJECTBOUNDINGBOX) |
, m_patternContentUnits(SVGUnitTypes::SVG_UNIT_TYPE_USERSPACEONUSE) |
- , m_patternContentElement(0) |
+ , m_patternContentElement(nullptr) |
, m_xSet(false) |
, m_ySet(false) |
, m_widthSet(false) |
@@ -63,25 +66,25 @@ struct PatternAttributes { |
AffineTransform patternTransform() const { return m_patternTransform; } |
const SVGPatternElement* patternContentElement() const { return m_patternContentElement; } |
- void setX(PassRefPtr<SVGLength> value) |
+ void setX(PassRefPtrWillBeRawPtr<SVGLength> value) |
{ |
m_x = value; |
m_xSet = true; |
} |
- void setY(PassRefPtr<SVGLength> value) |
+ void setY(PassRefPtrWillBeRawPtr<SVGLength> value) |
{ |
m_y = value; |
m_ySet = true; |
} |
- void setWidth(PassRefPtr<SVGLength> value) |
+ void setWidth(PassRefPtrWillBeRawPtr<SVGLength> value) |
{ |
m_width = value; |
m_widthSet = true; |
} |
- void setHeight(PassRefPtr<SVGLength> value) |
+ void setHeight(PassRefPtrWillBeRawPtr<SVGLength> value) |
{ |
m_height = value; |
m_heightSet = true; |
@@ -93,7 +96,7 @@ struct PatternAttributes { |
m_viewBoxSet = true; |
} |
- void setPreserveAspectRatio(PassRefPtr<SVGPreserveAspectRatio> value) |
+ void setPreserveAspectRatio(PassRefPtrWillBeRawPtr<SVGPreserveAspectRatio> value) |
{ |
m_preserveAspectRatio = value; |
m_preserveAspectRatioSet = true; |
@@ -134,18 +137,28 @@ struct PatternAttributes { |
bool hasPatternTransform() const { return m_patternTransformSet; } |
bool hasPatternContentElement() const { return m_patternContentElementSet; } |
+ void trace(Visitor* visitor) |
+ { |
+ visitor->trace(m_x); |
+ visitor->trace(m_y); |
+ visitor->trace(m_width); |
+ visitor->trace(m_height); |
+ visitor->trace(m_preserveAspectRatio); |
+ visitor->trace(m_patternContentElement); |
+ } |
+ |
private: |
// Properties |
- RefPtr<SVGLength> m_x; |
- RefPtr<SVGLength> m_y; |
- RefPtr<SVGLength> m_width; |
- RefPtr<SVGLength> m_height; |
+ RefPtrWillBeMember<SVGLength> m_x; |
+ RefPtrWillBeMember<SVGLength> m_y; |
+ RefPtrWillBeMember<SVGLength> m_width; |
+ RefPtrWillBeMember<SVGLength> m_height; |
FloatRect m_viewBox; |
- RefPtr<SVGPreserveAspectRatio> m_preserveAspectRatio; |
+ RefPtrWillBeMember<SVGPreserveAspectRatio> m_preserveAspectRatio; |
SVGUnitTypes::SVGUnitType m_patternUnits; |
SVGUnitTypes::SVGUnitType m_patternContentUnits; |
AffineTransform m_patternTransform; |
- const SVGPatternElement* m_patternContentElement; |
+ RawPtrWillBeMember<const SVGPatternElement> m_patternContentElement; |
// Property states |
bool m_xSet : 1; |
@@ -162,4 +175,4 @@ private: |
} // namespace blink |
-#endif |
+#endif // PatternAttributes_h |