Index: Source/core/paint/SVGInlineTextBoxPainter.cpp |
diff --git a/Source/core/paint/SVGInlineTextBoxPainter.cpp b/Source/core/paint/SVGInlineTextBoxPainter.cpp |
index 34d61464c3b1d45ebf58af391c988b66311ee480..f2aea5bac79bf65ed448df1bfac98caa5ade5560 100644 |
--- a/Source/core/paint/SVGInlineTextBoxPainter.cpp |
+++ b/Source/core/paint/SVGInlineTextBoxPainter.cpp |
@@ -59,16 +59,15 @@ void SVGInlineTextBoxPainter::paint(const PaintInfo& paintInfo, const LayoutPoin |
LayoutObject& parentLayoutObject = m_svgInlineTextBox.parent()->layoutObject(); |
const ComputedStyle& style = parentLayoutObject.styleRef(); |
- { |
- DrawingRecorder recorder(*paintInfo.context, m_svgInlineTextBox, DisplayItem::paintPhaseToDrawingType(paintInfo.phase), paintInfo.rect); |
- if (!recorder.canUseCachedDrawing()) { |
- InlineTextBoxPainter(m_svgInlineTextBox).paintDocumentMarkers( |
- paintInfo.context, paintOffset, style, |
- textLayoutObject.scaledFont(), true); |
- |
- if (!m_svgInlineTextBox.textFragments().isEmpty()) |
- paintTextFragments(paintInfo, parentLayoutObject); |
- } |
+ DisplayItem::Type displayItemType = DisplayItem::paintPhaseToDrawingType(paintInfo.phase); |
+ if (!DrawingRecorder::useCachedDrawingIfPossible(*paintInfo.context, m_svgInlineTextBox, displayItemType)) { |
+ DrawingRecorder recorder(*paintInfo.context, m_svgInlineTextBox, displayItemType, paintInfo.rect); |
+ InlineTextBoxPainter(m_svgInlineTextBox).paintDocumentMarkers( |
+ paintInfo.context, paintOffset, style, |
+ textLayoutObject.scaledFont(), true); |
+ |
+ if (!m_svgInlineTextBox.textFragments().isEmpty()) |
+ paintTextFragments(paintInfo, parentLayoutObject); |
} |
if (style.hasOutline() && parentLayoutObject.isLayoutInline()) |