Index: third_party/WebKit/Source/core/layout/svg/line/SVGInlineTextBox.cpp |
diff --git a/third_party/WebKit/Source/core/layout/svg/line/SVGInlineTextBox.cpp b/third_party/WebKit/Source/core/layout/svg/line/SVGInlineTextBox.cpp |
index 1deca53cdaf45da4e7af940948e64128e634a04b..785605152f656bc3280755def0e6bcbcd458357f 100644 |
--- a/third_party/WebKit/Source/core/layout/svg/line/SVGInlineTextBox.cpp |
+++ b/third_party/WebKit/Source/core/layout/svg/line/SVGInlineTextBox.cpp |
@@ -240,7 +240,12 @@ LayoutRect SVGInlineTextBox::calculateBoundaries() const |
unsigned textFragmentsSize = m_textFragments.size(); |
for (unsigned i = 0; i < textFragmentsSize; ++i) { |
const SVGTextFragment& fragment = m_textFragments.at(i); |
- FloatRect fragmentRect(fragment.x, fragment.y - baseline, fragment.width, fragment.height); |
+ |
+ FloatRect fragmentRect( |
+ fragment.x - fragment.glyphOverflowLeft, |
+ fragment.y - baseline - fragment.glyphOverflowTop, |
+ fragment.width + fragment.glyphOverflowLeft + fragment.glyphOverflowRight, |
+ fragment.height + fragment.glyphOverflowTop + fragment.glyphOverflowBottom); |
fragment.buildFragmentTransform(fragmentTransform); |
fragmentRect = fragmentTransform.mapRect(fragmentRect); |