Index: Source/core/rendering/svg/RenderSVGResourceMarker.cpp |
diff --git a/Source/core/rendering/svg/RenderSVGResourceMarker.cpp b/Source/core/rendering/svg/RenderSVGResourceMarker.cpp |
index 8e7ffec4234593d72b24306437cdd23fe4c32211..d8be4b3a1a25e5106bfa209c5d51df796d1f71d5 100644 |
--- a/Source/core/rendering/svg/RenderSVGResourceMarker.cpp |
+++ b/Source/core/rendering/svg/RenderSVGResourceMarker.cpp |
@@ -70,12 +70,6 @@ void RenderSVGResourceMarker::removeClientFromCache(RenderObject* client, bool m |
markClientForInvalidation(client, markForInvalidation ? BoundariesInvalidation : ParentOnlyInvalidation); |
} |
-void RenderSVGResourceMarker::applyViewportClip(PaintInfo& paintInfo) |
-{ |
- if (SVGRenderSupport::isOverflowHidden(this)) |
- paintInfo.context->clip(m_viewport); |
-} |
- |
FloatRect RenderSVGResourceMarker::markerBoundaries(const AffineTransform& markerTransformation) const |
{ |
FloatRect coordinates = RenderSVGContainer::paintInvalidationRectInLocalCoordinates(); |
@@ -143,6 +137,12 @@ void RenderSVGResourceMarker::draw(PaintInfo& paintInfo, const AffineTransform& |
PaintInfo info(paintInfo); |
GraphicsContextStateSaver stateSaver(*info.context, false); |
info.applyTransform(transform, &stateSaver); |
+ |
+ if (SVGRenderSupport::isOverflowHidden(this)) { |
+ stateSaver.saveIfNeeded(); |
+ info.context->clip(m_viewport); |
+ } |
+ |
RenderSVGContainer::paint(info, IntPoint()); |
} |