| Index: Source/core/editing/Caret.cpp
|
| diff --git a/Source/core/editing/Caret.cpp b/Source/core/editing/Caret.cpp
|
| index 52116d87df1002be37eca30e9f358d1a946f5985..4afb89d11851d0758e1b1e131f8e78f635382aef 100644
|
| --- a/Source/core/editing/Caret.cpp
|
| +++ b/Source/core/editing/Caret.cpp
|
| @@ -40,7 +40,8 @@
|
| namespace blink {
|
|
|
| CaretBase::CaretBase(CaretVisibility visibility)
|
| - : m_caretVisibility(visibility)
|
| + : m_caretPainter(nullptr)
|
| + , m_caretVisibility(visibility)
|
| {
|
| }
|
|
|
| @@ -115,6 +116,7 @@ DEFINE_TRACE(DragCaretController)
|
|
|
| void CaretBase::clearCaretRect()
|
| {
|
| + m_caretPainter = nullptr;
|
| m_caretLocalRect = LayoutRect();
|
| }
|
|
|
| @@ -162,6 +164,7 @@ static void mapCaretRectToCaretPainter(LayoutObject* caretLayoutObject, LayoutBl
|
|
|
| bool CaretBase::updateCaretRect(Document* document, const PositionWithAffinity& caretPosition)
|
| {
|
| + m_caretPainter = nullptr;
|
| m_caretLocalRect = LayoutRect();
|
|
|
| if (caretPosition.position().isNull())
|
| @@ -175,9 +178,9 @@ bool CaretBase::updateCaretRect(Document* document, const PositionWithAffinity&
|
|
|
| // Get the layoutObject that will be responsible for painting the caret
|
| // (which is either the layoutObject we just found, or one of its containers).
|
| - LayoutBlock* caretPainter = caretLayoutObject(caretPosition.position().deprecatedNode());
|
| + m_caretPainter = caretLayoutObject(caretPosition.position().deprecatedNode());
|
|
|
| - mapCaretRectToCaretPainter(layoutObject, caretPainter, m_caretLocalRect);
|
| + mapCaretRectToCaretPainter(layoutObject, m_caretPainter, m_caretLocalRect);
|
|
|
| return true;
|
| }
|
| @@ -187,11 +190,6 @@ bool CaretBase::updateCaretRect(Document* document, const VisiblePosition& caret
|
| return updateCaretRect(document, PositionWithAffinity(caretPosition.deepEquivalent(), caretPosition.affinity()));
|
| }
|
|
|
| -LayoutBlock* DragCaretController::caretLayoutObject() const
|
| -{
|
| - return CaretBase::caretLayoutObject(m_position.deepEquivalent().deprecatedNode());
|
| -}
|
| -
|
| IntRect CaretBase::absoluteBoundsForLocalRect(Node* node, const LayoutRect& rect) const
|
| {
|
| LayoutBlock* caretPainter = caretLayoutObject(node);
|
|
|