Index: Source/core/rendering/svg/RenderSVGResourceGradient.cpp |
diff --git a/Source/core/rendering/svg/RenderSVGResourceGradient.cpp b/Source/core/rendering/svg/RenderSVGResourceGradient.cpp |
index ae3471455924622d34a7d32ddb165c3798a1c06f..49d8631929ccf0454b5b4061f7b3e4889c232570 100644 |
--- a/Source/core/rendering/svg/RenderSVGResourceGradient.cpp |
+++ b/Source/core/rendering/svg/RenderSVGResourceGradient.cpp |
@@ -134,6 +134,20 @@ void RenderSVGResourceGradient::postApplyResource(RenderObject*, GraphicsContext |
context->restore(); |
} |
+bool RenderSVGResourceGradient::isChildAllowed(RenderObject* child, RenderStyle*) const |
+{ |
+ if (child->isSVGGradientStop()) |
+ return true; |
+ |
+ if (!child->isSVGResourceContainer()) |
+ return false; |
+ |
+ RenderSVGResourceContainer* resource = toRenderSVGResourceContainer(child); |
+ return resource->resourceType() == PatternResourceType |
+ || resource->resourceType() == LinearGradientResourceType |
+ || resource->resourceType() == RadialGradientResourceType; |
+} |
+ |
void RenderSVGResourceGradient::addStops(GradientData* gradientData, const Vector<Gradient::ColorStop>& stops) const |
{ |
ASSERT(gradientData->gradient); |