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()); |