Index: Source/core/layout/svg/SVGTextChunkBuilder.cpp |
diff --git a/Source/core/layout/svg/SVGTextChunkBuilder.cpp b/Source/core/layout/svg/SVGTextChunkBuilder.cpp |
index 21b19a5550dc57602273e29cde4ea3aae713b81b..b19b866954a80122e4794276f53fcfb92950cafc 100644 |
--- a/Source/core/layout/svg/SVGTextChunkBuilder.cpp |
+++ b/Source/core/layout/svg/SVGTextChunkBuilder.cpp |
@@ -31,11 +31,6 @@ SVGTextChunkBuilder::SVGTextChunkBuilder() |
{ |
} |
-AffineTransform SVGTextChunkBuilder::transformationForTextBox(SVGInlineTextBox* textBox) const |
-{ |
- return m_textBoxTransformations.get(textBox); |
-} |
- |
void SVGTextChunkBuilder::buildTextChunks(Vector<SVGInlineTextBox*>& lineLayoutBoxes) |
{ |
if (lineLayoutBoxes.isEmpty()) |
@@ -253,4 +248,18 @@ void SVGTextChunkBuilder::processTextAnchorCorrection(bool isVerticalText, float |
} |
} |
+void SVGTextChunkBuilder::finalizeTransformMatrices(const Vector<SVGInlineTextBox*>& boxes) const |
+{ |
+ for (SVGInlineTextBox* textBox : boxes) { |
+ AffineTransform textBoxTransformation = m_textBoxTransformations.get(textBox); |
+ if (textBoxTransformation.isIdentity()) |
+ continue; |
+ |
+ for (SVGTextFragment& fragment : textBox->textFragments()) { |
+ ASSERT(fragment.lengthAdjustTransform.isIdentity()); |
+ fragment.lengthAdjustTransform = textBoxTransformation; |
+ } |
+ } |
+} |
+ |
} |