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

Unified Diff: Source/core/rendering/svg/RenderSVGResourceRadialGradient.cpp

Issue 869323003: Oilpan: move RenderObjects off heap. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: review-induced improvements Created 5 years, 10 months 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
Index: Source/core/rendering/svg/RenderSVGResourceRadialGradient.cpp
diff --git a/Source/core/rendering/svg/RenderSVGResourceRadialGradient.cpp b/Source/core/rendering/svg/RenderSVGResourceRadialGradient.cpp
index fb7405ea81c2757cedf4f55be4073d7aabd6e72a..a35586e9f4d22fb255e40442c76aa83aabd13d76 100644
--- a/Source/core/rendering/svg/RenderSVGResourceRadialGradient.cpp
+++ b/Source/core/rendering/svg/RenderSVGResourceRadialGradient.cpp
@@ -29,6 +29,9 @@ namespace blink {
RenderSVGResourceRadialGradient::RenderSVGResourceRadialGradient(SVGRadialGradientElement* node)
: RenderSVGResourceGradient(node)
+#if ENABLE(OILPAN)
+ , m_attributesWrapper(RadialGradientAttributesWrapper::create())
+#endif
{
}
@@ -36,16 +39,14 @@ RenderSVGResourceRadialGradient::~RenderSVGResourceRadialGradient()
{
}
-void RenderSVGResourceRadialGradient::trace(Visitor* visitor)
-{
- visitor->trace(m_attributes);
- RenderSVGResourceGradient::trace(visitor);
-}
-
bool RenderSVGResourceRadialGradient::collectGradientAttributes(SVGGradientElement* gradientElement)
{
+#if ENABLE(OILPAN)
+ m_attributesWrapper->set(RadialGradientAttributes());
+#else
m_attributes = RadialGradientAttributes();
- return toSVGRadialGradientElement(gradientElement)->collectGradientAttributes(m_attributes);
+#endif
+ return toSVGRadialGradientElement(gradientElement)->collectGradientAttributes(mutableAttributes());
}
FloatPoint RenderSVGResourceRadialGradient::centerPoint(const RadialGradientAttributes& attributes) const
@@ -70,14 +71,15 @@ float RenderSVGResourceRadialGradient::focalRadius(const RadialGradientAttribute
void RenderSVGResourceRadialGradient::buildGradient(GradientData* gradientData) const
{
- gradientData->gradient = Gradient::create(this->focalPoint(m_attributes),
- this->focalRadius(m_attributes),
- this->centerPoint(m_attributes),
- this->radius(m_attributes));
+ const RadialGradientAttributes& attributes = this->attributes();
+ gradientData->gradient = Gradient::create(this->focalPoint(attributes),
+ this->focalRadius(attributes),
+ this->centerPoint(attributes),
+ this->radius(attributes));
- gradientData->gradient->setSpreadMethod(platformSpreadMethodFromSVGType(m_attributes.spreadMethod()));
+ gradientData->gradient->setSpreadMethod(platformSpreadMethodFromSVGType(attributes.spreadMethod()));
- addStops(gradientData, m_attributes.stops());
+ addStops(gradientData, attributes.stops());
}
}
« no previous file with comments | « Source/core/rendering/svg/RenderSVGResourceRadialGradient.h ('k') | Source/core/rendering/svg/RenderSVGRoot.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698