summaryrefslogtreecommitdiff
path: root/Source/WebCore/rendering/svg/RenderSVGGradientStop.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Source/WebCore/rendering/svg/RenderSVGGradientStop.cpp')
-rw-r--r--Source/WebCore/rendering/svg/RenderSVGGradientStop.cpp25
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)