| Index: Source/core/paint/BlockPainter.cpp
|
| diff --git a/Source/core/paint/BlockPainter.cpp b/Source/core/paint/BlockPainter.cpp
|
| index b14abc26e445cac2cb6b588a480afbd2942c75fd..70ab8e5886581172ad6136a69cf082f7ec9a85e6 100644
|
| --- a/Source/core/paint/BlockPainter.cpp
|
| +++ b/Source/core/paint/BlockPainter.cpp
|
| @@ -224,10 +224,9 @@ void BlockPainter::paintObject(const PaintInfo& paintInfo, const LayoutPoint& pa
|
|
|
| // If the caret's node's layout object's containing block is this block, and the paint action is PaintPhaseForeground,
|
| // then paint the caret.
|
| - if (paintPhase == PaintPhaseForeground && hasCaret()) {
|
| + if (paintPhase == PaintPhaseForeground && hasCaret() && !LayoutObjectDrawingRecorder::useCachedDrawingIfPossible(*paintInfo.context, m_layoutBlock, DisplayItem::Caret)) {
|
| LayoutObjectDrawingRecorder recorder(*paintInfo.context, m_layoutBlock, DisplayItem::Caret, visualOverflowRectWithPaintOffset(m_layoutBlock, paintOffset));
|
| - if (!recorder.canUseCachedDrawing())
|
| - paintCarets(paintInfo, paintOffset);
|
| + paintCarets(paintInfo, paintOffset);
|
| }
|
| }
|
|
|
|
|