| Index: Source/core/rendering/svg/RenderSVGText.cpp
|
| diff --git a/Source/core/rendering/svg/RenderSVGText.cpp b/Source/core/rendering/svg/RenderSVGText.cpp
|
| index 720966329a093b51b6c5cebac0b4e98b739a5bb0..697cc3a1c0c801bfce74130fa86883ac963d5372 100644
|
| --- a/Source/core/rendering/svg/RenderSVGText.cpp
|
| +++ b/Source/core/rendering/svg/RenderSVGText.cpp
|
| @@ -29,6 +29,7 @@
|
| #include "core/rendering/svg/RenderSVGText.h"
|
|
|
| #include "core/editing/PositionWithAffinity.h"
|
| +#include "core/paint/SVGTextPainter.h"
|
| #include "core/rendering/HitTestRequest.h"
|
| #include "core/rendering/HitTestResult.h"
|
| #include "core/rendering/PaintInfo.h"
|
| @@ -51,7 +52,6 @@
|
| #include "platform/fonts/SimpleFontData.h"
|
| #include "platform/geometry/FloatQuad.h"
|
| #include "platform/geometry/TransformState.h"
|
| -#include "platform/graphics/GraphicsContextStateSaver.h"
|
|
|
| namespace blink {
|
|
|
| @@ -467,24 +467,7 @@ void RenderSVGText::absoluteQuads(Vector<FloatQuad>& quads, bool* wasFixed) cons
|
|
|
| void RenderSVGText::paint(PaintInfo& paintInfo, const LayoutPoint&)
|
| {
|
| - if (paintInfo.phase != PaintPhaseForeground
|
| - && paintInfo.phase != PaintPhaseSelection)
|
| - return;
|
| -
|
| - PaintInfo blockInfo(paintInfo);
|
| - GraphicsContextStateSaver stateSaver(*blockInfo.context, false);
|
| - const AffineTransform& localTransform = localToParentTransform();
|
| - if (!localTransform.isIdentity()) {
|
| - stateSaver.save();
|
| - blockInfo.applyTransform(localTransform, false);
|
| - }
|
| - RenderBlock::paint(blockInfo, LayoutPoint());
|
| -
|
| - // Paint the outlines, if any
|
| - if (paintInfo.phase == PaintPhaseForeground) {
|
| - blockInfo.phase = PaintPhaseSelfOutline;
|
| - RenderBlock::paint(blockInfo, LayoutPoint());
|
| - }
|
| + SVGTextPainter(*this).paint(paintInfo);
|
| }
|
|
|
| FloatRect RenderSVGText::strokeBoundingBox() const
|
|
|