Index: Source/core/rendering/svg/SVGRenderSupport.cpp |
diff --git a/Source/core/rendering/svg/SVGRenderSupport.cpp b/Source/core/rendering/svg/SVGRenderSupport.cpp |
index 8e0f0b2b7e15d6c6fcfeedb9c6f84b54f6911572..3b0d73be640a9cebe7888aa21f51c769a3119762 100644 |
--- a/Source/core/rendering/svg/SVGRenderSupport.cpp |
+++ b/Source/core/rendering/svg/SVGRenderSupport.cpp |
@@ -407,7 +407,6 @@ bool SVGRenderSupport::updateGraphicsContext(const PaintInfo& paintInfo, Graphic |
if (paintInfo.isRenderingClipPathAsMaskImage()) { |
if (resourceMode == ApplyToStrokeMode) |
return false; |
- context->setAlphaAsFloat(1); |
context->setFillColor(SVGRenderStyle::initialFillPaintColor()); |
return true; |
} |
@@ -419,17 +418,15 @@ bool SVGRenderSupport::updateGraphicsContext(const PaintInfo& paintInfo, Graphic |
if (additionalPaintServerTransform && paintServer.isTransformDependent()) |
paintServer.prependTransform(*additionalPaintServerTransform); |
- paintServer.apply(*context, resourceMode, &stateSaver); |
- |
const SVGRenderStyle& svgStyle = style.svgStyle(); |
+ float paintAlpha = resourceMode == ApplyToFillMode ? svgStyle.fillOpacity() : svgStyle.strokeOpacity(); |
+ paintServer.apply(*context, resourceMode, paintAlpha, stateSaver); |
- if (resourceMode == ApplyToFillMode) { |
- context->setAlphaAsFloat(svgStyle.fillOpacity()); |
+ if (resourceMode == ApplyToFillMode) |
context->setFillRule(svgStyle.fillRule()); |
- } else { |
- context->setAlphaAsFloat(svgStyle.strokeOpacity()); |
+ else |
applyStrokeStyleToContext(context, style, &renderer); |
- } |
+ |
return true; |
} |