diff options
Diffstat (limited to 'WebCore/rendering/RenderSVGGradientStop.h')
-rw-r--r-- | WebCore/rendering/RenderSVGGradientStop.h | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/WebCore/rendering/RenderSVGGradientStop.h b/WebCore/rendering/RenderSVGGradientStop.h index b6d4663..86de6d0 100644 --- a/WebCore/rendering/RenderSVGGradientStop.h +++ b/WebCore/rendering/RenderSVGGradientStop.h @@ -36,12 +36,20 @@ namespace WebCore { public: RenderSVGGradientStop(SVGStopElement*); virtual ~RenderSVGGradientStop(); - + virtual const char* renderName() const { return "RenderSVGGradientStop"; } - + virtual void layout(); - virtual void setStyle(RenderStyle*); - + + // This override is needed to prevent crashing on <svg><stop /></svg> + // RenderObject's default impl asks the parent Object and RenderSVGRoot + // asks all child RenderObjects for overflow rects, thus infinite loop. + // https://bugs.webkit.org/show_bug.cgi?id=20400 + virtual IntRect absoluteClippedOverflowRect() { return IntRect(); } + + protected: + virtual void styleDidChange(RenderStyle::Diff, const RenderStyle* oldStyle); + private: SVGGradientElement* gradientElement() const; }; |