Chromium Code Reviews| Index: Source/core/paint/SVGInlineTextBoxPainter.cpp |
| diff --git a/Source/core/paint/SVGInlineTextBoxPainter.cpp b/Source/core/paint/SVGInlineTextBoxPainter.cpp |
| index da2841d3565ff09c7ddcfeeeb6f7bb5eac261e54..1d59b20f6cc3dbd4f283141f1d229533c7db604c 100644 |
| --- a/Source/core/paint/SVGInlineTextBoxPainter.cpp |
| +++ b/Source/core/paint/SVGInlineTextBoxPainter.cpp |
| @@ -273,6 +273,7 @@ void SVGInlineTextBoxPainter::paintDecoration(GraphicsContext* context, TextDeco |
| break; |
| case PT_STROKE: |
| if (svgDecorationStyle.hasVisibleStroke()) { |
| + // FIXME: Non-scaling stroke is not applied here. |
|
fs
2014/10/15 15:42:11
This FIXME and the one below just document pre-exi
|
| GraphicsContextStateSaver stateSaver(*context, false); |
| if (!SVGRenderSupport::updateGraphicsContext(stateSaver, decorationStyle, *decorationRenderer, ApplyToStrokeMode)) |
| break; |
| @@ -304,6 +305,8 @@ void SVGInlineTextBoxPainter::paintTextWithShadows(GraphicsContext* context, Ren |
| FloatPoint textOrigin(fragment.x, fragment.y); |
| FloatSize textSize(fragment.width, fragment.height); |
| + AffineTransform paintServerTransform; |
| + const AffineTransform* additionalPaintServerTransform = 0; |
| GraphicsContextStateSaver stateSaver(*context, false); |
| if (scalingFactor != 1) { |
| @@ -311,9 +314,14 @@ void SVGInlineTextBoxPainter::paintTextWithShadows(GraphicsContext* context, Ren |
| textSize.scale(scalingFactor); |
| stateSaver.save(); |
| context->scale(1 / scalingFactor, 1 / scalingFactor); |
| + // Adjust the paint-server coordinate space. |
| + paintServerTransform.scale(scalingFactor); |
| + additionalPaintServerTransform = &paintServerTransform; |
| } |
| - if (!SVGRenderSupport::updateGraphicsContext(stateSaver, style, m_svgInlineTextBox.parent()->renderer(), resourceMode | ApplyToTextMode)) |
| + // FIXME: Non-scaling stroke is not applied here. |
| + |
| + if (!SVGRenderSupport::updateGraphicsContext(stateSaver, style, m_svgInlineTextBox.parent()->renderer(), resourceMode, additionalPaintServerTransform)) |
| return; |
| if (hasShadow) { |