summaryrefslogtreecommitdiffstats
path: root/WebCore/rendering/RenderSVGGradientStop.h
diff options
context:
space:
mode:
Diffstat (limited to 'WebCore/rendering/RenderSVGGradientStop.h')
-rw-r--r--WebCore/rendering/RenderSVGGradientStop.h16
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;
};