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

Unified Diff: Source/core/svg/SVGFEConvolveMatrixElement.cpp

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/SVGFEConvolveMatrixElement.h ('k') | Source/core/svg/SVGFEDiffuseLightingElement.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: Source/core/svg/SVGFEConvolveMatrixElement.cpp
diff --git a/Source/core/svg/SVGFEConvolveMatrixElement.cpp b/Source/core/svg/SVGFEConvolveMatrixElement.cpp
index f3eedab0404bf737f6107238ab2254fb9c286589..121ae4f34466eb082a5c9bb771f30a752392a890 100644
--- a/Source/core/svg/SVGFEConvolveMatrixElement.cpp
+++ b/Source/core/svg/SVGFEConvolveMatrixElement.cpp
@@ -45,9 +45,9 @@ template<> const SVGEnumerationStringEntries& getStaticStringEntries<EdgeModeTyp
class SVGAnimatedOrder : public SVGAnimatedIntegerOptionalInteger {
public:
- static PassRefPtr<SVGAnimatedOrder> create(SVGElement* contextElement)
+ static PassRefPtrWillBeRawPtr<SVGAnimatedOrder> create(SVGElement* contextElement)
{
- return adoptRef(new SVGAnimatedOrder(contextElement));
+ return adoptRefWillBeNoop(new SVGAnimatedOrder(contextElement));
}
void setBaseValueAsString(const String&, SVGParsingError&) override;
@@ -96,6 +96,21 @@ inline SVGFEConvolveMatrixElement::SVGFEConvolveMatrixElement(Document& document
addToPropertyMap(m_targetY);
}
+void SVGFEConvolveMatrixElement::trace(Visitor* visitor)
+{
+ visitor->trace(m_bias);
+ visitor->trace(m_divisor);
+ visitor->trace(m_in1);
+ visitor->trace(m_edgeMode);
+ visitor->trace(m_kernelMatrix);
+ visitor->trace(m_kernelUnitLength);
+ visitor->trace(m_order);
+ visitor->trace(m_preserveAlpha);
+ visitor->trace(m_targetX);
+ visitor->trace(m_targetY);
+ SVGFilterPrimitiveStandardAttributes::trace(visitor);
+}
+
DEFINE_NODE_FACTORY(SVGFEConvolveMatrixElement)
bool SVGFEConvolveMatrixElement::isSupportedAttribute(const QualifiedName& attrName)
@@ -173,7 +188,7 @@ void SVGFEConvolveMatrixElement::svgAttributeChanged(const QualifiedName& attrNa
ASSERT_NOT_REACHED();
}
-PassRefPtr<FilterEffect> SVGFEConvolveMatrixElement::build(SVGFilterBuilder* filterBuilder, Filter* filter)
+PassRefPtrWillBeRawPtr<FilterEffect> SVGFEConvolveMatrixElement::build(SVGFilterBuilder* filterBuilder, Filter* filter)
{
FilterEffect* input1 = filterBuilder->getEffectById(AtomicString(m_in1->currentValue()->value()));
@@ -189,7 +204,7 @@ PassRefPtr<FilterEffect> SVGFEConvolveMatrixElement::build(SVGFilterBuilder* fil
// Spec says order must be > 0. Bail if it is not.
if (orderXValue < 1 || orderYValue < 1)
return nullptr;
- RefPtr<SVGNumberList> kernelMatrix = this->m_kernelMatrix->currentValue();
+ RefPtrWillBeRawPtr<SVGNumberList> kernelMatrix = this->m_kernelMatrix->currentValue();
size_t kernelMatrixSize = kernelMatrix->length();
// The spec says this is a requirement, and should bail out if fails
if (orderXValue * orderYValue != static_cast<int>(kernelMatrixSize))
@@ -229,7 +244,7 @@ PassRefPtr<FilterEffect> SVGFEConvolveMatrixElement::build(SVGFilterBuilder* fil
divisorValue = 1;
}
- RefPtr<FilterEffect> effect = FEConvolveMatrix::create(filter,
+ RefPtrWillBeRawPtr<FilterEffect> effect = FEConvolveMatrix::create(filter,
IntSize(orderXValue, orderYValue), divisorValue,
m_bias->currentValue()->value(), IntPoint(targetXValue, targetYValue), m_edgeMode->currentValue()->enumValue(),
FloatPoint(kernelUnitLengthXValue, kernelUnitLengthYValue), m_preserveAlpha->currentValue()->value(), m_kernelMatrix->currentValue()->toFloatVector());
« no previous file with comments | « Source/core/svg/SVGFEConvolveMatrixElement.h ('k') | Source/core/svg/SVGFEDiffuseLightingElement.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698