Index: Source/core/paint/InlineTextBoxPainter.cpp |
diff --git a/Source/core/paint/InlineTextBoxPainter.cpp b/Source/core/paint/InlineTextBoxPainter.cpp |
index edceb6c8165186d860cec7e14e4ebad64f3f81b0..7e74ecfde9d8847be4c93413db6d9fb733e05045 100644 |
--- a/Source/core/paint/InlineTextBoxPainter.cpp |
+++ b/Source/core/paint/InlineTextBoxPainter.cpp |
@@ -85,14 +85,14 @@ void InlineTextBoxPainter::paint(const PaintInfo& paintInfo, const LayoutPoint& |
// within a DrawingRecorder. |
Optional<DrawingRecorder> drawingRecorder; |
if (RuntimeEnabledFeatures::slimmingPaintEnabled() && paintInfo.phase != PaintPhaseTextClip) { |
+ if (DrawingRecorder::useCachedDrawingIfPossible(*paintInfo.context, m_inlineTextBox, DisplayItem::paintPhaseToDrawingType(paintInfo.phase))) |
+ return; |
LayoutRect paintRect(logicalVisualOverflow); |
m_inlineTextBox.logicalRectToPhysicalRect(paintRect); |
if (paintInfo.phase != PaintPhaseSelection && (haveSelection || containsComposition || paintsMarkerHighlights(m_inlineTextBox.layoutObject()))) |
paintRect.unite(m_inlineTextBox.localSelectionRect(m_inlineTextBox.start(), m_inlineTextBox.start() + m_inlineTextBox.len())); |
paintRect.moveBy(adjustedPaintOffset); |
drawingRecorder.emplace(*paintInfo.context, m_inlineTextBox, DisplayItem::paintPhaseToDrawingType(paintInfo.phase), paintRect); |
- if (drawingRecorder->canUseCachedDrawing()) |
- return; |
} |
if (m_inlineTextBox.truncation() != cNoTruncation) { |