| 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;
|
| }
|
|
|
|
|