| Index: third_party/WebKit/Source/core/editing/FrameCaret.cpp
|
| diff --git a/third_party/WebKit/Source/core/editing/FrameCaret.cpp b/third_party/WebKit/Source/core/editing/FrameCaret.cpp
|
| index ec31e4b2faf90840fc57405d022e10dde1326f15..0ea6c49f75bd452ff826c3bf37ee5627a9576456 100644
|
| --- a/third_party/WebKit/Source/core/editing/FrameCaret.cpp
|
| +++ b/third_party/WebKit/Source/core/editing/FrameCaret.cpp
|
| @@ -43,6 +43,7 @@ namespace blink {
|
| FrameCaret::FrameCaret(LocalFrame* frame, const SelectionEditor& selectionEditor)
|
| : m_selectionEditor(&selectionEditor)
|
| , m_frame(frame)
|
| + , m_caretVisibility(CaretVisibility::Hidden)
|
| , m_previousCaretVisibility(CaretVisibility::Hidden)
|
| , m_caretBlinkTimer(this, &FrameCaret::caretBlinkTimerFired)
|
| , m_caretRectDirty(true)
|
| @@ -119,10 +120,10 @@ void FrameCaret::startBlinkCaret()
|
|
|
| void FrameCaret::setCaretVisibility(CaretVisibility visibility)
|
| {
|
| - if (getCaretVisibility() == visibility)
|
| + if (m_caretVisibility == visibility)
|
| return;
|
|
|
| - CaretBase::setCaretVisibility(visibility);
|
| + m_caretVisibility = visibility;
|
|
|
| updateAppearance();
|
| }
|
| @@ -169,7 +170,7 @@ void FrameCaret::invalidateCaretRect(bool forceInvalidation)
|
| && !m_caretBlinkTimer.isActive()
|
| && newNode == m_previousCaretNode
|
| && newRect == m_previousCaretRect
|
| - && getCaretVisibility() == m_previousCaretVisibility)
|
| + && m_caretVisibility == m_previousCaretVisibility)
|
| return;
|
|
|
| LayoutViewItem view = m_frame->document()->layoutViewItem();
|
| @@ -179,7 +180,7 @@ void FrameCaret::invalidateCaretRect(bool forceInvalidation)
|
| invalidateLocalCaretRect(newNode, newRect);
|
| m_previousCaretNode = newNode;
|
| m_previousCaretRect = newRect;
|
| - m_previousCaretVisibility = getCaretVisibility();
|
| + m_previousCaretVisibility = m_caretVisibility;
|
| }
|
|
|
| IntRect FrameCaret::absoluteCaretBounds()
|
| @@ -214,6 +215,9 @@ void FrameCaret::setShouldShowBlockCursor(bool shouldShowBlockCursor)
|
|
|
| void FrameCaret::paintCaret(GraphicsContext& context, const LayoutPoint& paintOffset)
|
| {
|
| + if (m_caretVisibility == CaretVisibility::Hidden)
|
| + return;
|
| +
|
| if (!(isActive() && m_shouldPaintCaret))
|
| return;
|
|
|
| @@ -250,7 +254,7 @@ void FrameCaret::documentDetached()
|
|
|
| bool FrameCaret::shouldBlinkCaret() const
|
| {
|
| - if (!caretIsVisible() || !isActive())
|
| + if (m_caretVisibility != CaretVisibility::Visible || !isActive())
|
| return false;
|
|
|
| if (m_frame->settings() && m_frame->settings()->caretBrowsingEnabled())
|
| @@ -269,7 +273,7 @@ bool FrameCaret::shouldBlinkCaret() const
|
|
|
| void FrameCaret::caretBlinkTimerFired(TimerBase*)
|
| {
|
| - DCHECK(caretIsVisible());
|
| + DCHECK_EQ(m_caretVisibility, CaretVisibility::Visible);
|
| if (isCaretBlinkingSuspended() && m_shouldPaintCaret)
|
| return;
|
| m_shouldPaintCaret = !m_shouldPaintCaret;
|
|
|