diff options
Diffstat (limited to 'Source/WebCore/rendering/svg/RenderSVGGradientStop.cpp')
-rw-r--r-- | Source/WebCore/rendering/svg/RenderSVGGradientStop.cpp | 25 |
1 files changed, 9 insertions, 16 deletions
diff --git a/Source/WebCore/rendering/svg/RenderSVGGradientStop.cpp b/Source/WebCore/rendering/svg/RenderSVGGradientStop.cpp index 6e90d6e01..41a159258 100644 --- a/Source/WebCore/rendering/svg/RenderSVGGradientStop.cpp +++ b/Source/WebCore/rendering/svg/RenderSVGGradientStop.cpp @@ -18,8 +18,6 @@ */ #include "config.h" - -#if ENABLE(SVG) #include "RenderSVGGradientStop.h" #include "RenderSVGResourceContainer.h" @@ -33,8 +31,8 @@ namespace WebCore { using namespace SVGNames; -RenderSVGGradientStop::RenderSVGGradientStop(SVGStopElement& element, PassRef<RenderStyle> style) - : RenderElement(element, std::move(style), 0) +RenderSVGGradientStop::RenderSVGGradientStop(SVGStopElement& element, RenderStyle&& style) + : RenderElement(element, WTFMove(style), 0) { } @@ -50,17 +48,15 @@ void RenderSVGGradientStop::styleDidChange(StyleDifference diff, const RenderSty // <stop> elements should only be allowed to make renderers under gradient elements // but I can imagine a few cases we might not be catching, so let's not crash if our parent isn't a gradient. - SVGGradientElement* gradient = gradientElement(); + const auto* gradient = gradientElement(); if (!gradient) return; - RenderObject* renderer = gradient->renderer(); + RenderElement* renderer = gradient->renderer(); if (!renderer) return; - ASSERT(renderer->isSVGResourceContainer()); - RenderSVGResourceContainer* container = renderer->toRenderSVGResourceContainer(); - container->removeAllClientsFromCache(); + downcast<RenderSVGResourceContainer>(*renderer).removeAllClientsFromCache(); } void RenderSVGGradientStop::layout() @@ -69,14 +65,11 @@ void RenderSVGGradientStop::layout() clearNeedsLayout(); } -SVGGradientElement* RenderSVGGradientStop::gradientElement() const +SVGGradientElement* RenderSVGGradientStop::gradientElement() { - ContainerNode* parentNode = element()->parentNode(); - if (parentNode->hasTagName(linearGradientTag) || parentNode->hasTagName(radialGradientTag)) - return toSVGGradientElement(parentNode); - return 0; + if (is<SVGGradientElement>(element().parentElement())) + return downcast<SVGGradientElement>(element().parentElement()); + return nullptr; } } - -#endif // ENABLE(SVG) |