Commit 1c337f78 authored by yosin's avatar yosin Committed by Commit bot

Move m_caretVisibility from CaretBase to FrameCaret

This patch moves |m_caretVisibility| from |CaretBase| class to |FrameCaret|
since |m_caretVisibility| is used only in |FramreCaret| class for improving code
health.

BUG=n/a
TEST=n/a; no behavior changes

Review-Url: https://codereview.chromium.org/2325933002
Cr-Commit-Position: refs/heads/master@{#417521}
parent eb1f8854
...@@ -42,11 +42,7 @@ ...@@ -42,11 +42,7 @@
namespace blink { namespace blink {
CaretBase::CaretBase(CaretVisibility visibility) CaretBase::CaretBase() = default;
: m_caretVisibility(visibility)
{
}
CaretBase::~CaretBase() = default; CaretBase::~CaretBase() = default;
DEFINE_TRACE(CaretBase) DEFINE_TRACE(CaretBase)
...@@ -193,9 +189,6 @@ void CaretBase::invalidateCaretRect(Node* node) ...@@ -193,9 +189,6 @@ void CaretBase::invalidateCaretRect(Node* node)
void CaretBase::paintCaret(Node* node, GraphicsContext& context, const LayoutPoint& paintOffset, DisplayItem::Type displayItemType) const void CaretBase::paintCaret(Node* node, GraphicsContext& context, const LayoutPoint& paintOffset, DisplayItem::Type displayItemType) const
{ {
if (m_caretVisibility == CaretVisibility::Hidden)
return;
if (DrawingRecorder::useCachedDrawingIfPossible(context, *this, displayItemType)) if (DrawingRecorder::useCachedDrawingIfPossible(context, *this, displayItemType))
return; return;
...@@ -220,11 +213,6 @@ void CaretBase::paintCaret(Node* node, GraphicsContext& context, const LayoutPoi ...@@ -220,11 +213,6 @@ void CaretBase::paintCaret(Node* node, GraphicsContext& context, const LayoutPoi
context.fillRect(paintRect, caretColor); context.fillRect(paintRect, caretColor);
} }
void CaretBase::setCaretVisibility(CaretVisibility visibility)
{
m_caretVisibility = visibility;
}
String CaretBase::debugName() const String CaretBase::debugName() const
{ {
return "Caret"; return "Caret";
......
...@@ -42,12 +42,10 @@ class GraphicsContext; ...@@ -42,12 +42,10 @@ class GraphicsContext;
class LayoutBlock; class LayoutBlock;
class LayoutViewItem; class LayoutViewItem;
enum class CaretVisibility { Visible, Hidden };
class CORE_EXPORT CaretBase : public GarbageCollectedFinalized<CaretBase>, public DisplayItemClient { class CORE_EXPORT CaretBase : public GarbageCollectedFinalized<CaretBase>, public DisplayItemClient {
WTF_MAKE_NONCOPYABLE(CaretBase); WTF_MAKE_NONCOPYABLE(CaretBase);
public: public:
explicit CaretBase(CaretVisibility = CaretVisibility::Hidden); CaretBase();
virtual ~CaretBase(); virtual ~CaretBase();
void invalidateCaretRect(Node*); void invalidateCaretRect(Node*);
...@@ -64,10 +62,6 @@ public: ...@@ -64,10 +62,6 @@ public:
const LayoutRect& localCaretRectWithoutUpdate() const { return m_caretLocalRect; } const LayoutRect& localCaretRectWithoutUpdate() const { return m_caretLocalRect; }
virtual void setCaretVisibility(CaretVisibility);
bool caretIsVisible() const { return m_caretVisibility == CaretVisibility::Visible; }
CaretVisibility getCaretVisibility() const { return m_caretVisibility; }
static LayoutBlock* caretLayoutObject(Node*); static LayoutBlock* caretLayoutObject(Node*);
void invalidateLocalCaretRect(Node*, const LayoutRect&); void invalidateLocalCaretRect(Node*, const LayoutRect&);
...@@ -79,7 +73,6 @@ public: ...@@ -79,7 +73,6 @@ public:
private: private:
LayoutRect m_caretLocalRect; // caret rect in coords local to the layoutObject responsible for painting the caret LayoutRect m_caretLocalRect; // caret rect in coords local to the layoutObject responsible for painting the caret
CaretVisibility m_caretVisibility;
LayoutRect m_visualRect; LayoutRect m_visualRect;
}; };
......
...@@ -33,7 +33,7 @@ ...@@ -33,7 +33,7 @@
namespace blink { namespace blink {
DragCaretController::DragCaretController() DragCaretController::DragCaretController()
: m_caretBase(new CaretBase(CaretVisibility::Visible)) : m_caretBase(new CaretBase())
{ {
} }
......
...@@ -43,6 +43,7 @@ namespace blink { ...@@ -43,6 +43,7 @@ namespace blink {
FrameCaret::FrameCaret(LocalFrame* frame, const SelectionEditor& selectionEditor) FrameCaret::FrameCaret(LocalFrame* frame, const SelectionEditor& selectionEditor)
: m_selectionEditor(&selectionEditor) : m_selectionEditor(&selectionEditor)
, m_frame(frame) , m_frame(frame)
, m_caretVisibility(CaretVisibility::Hidden)
, m_previousCaretVisibility(CaretVisibility::Hidden) , m_previousCaretVisibility(CaretVisibility::Hidden)
, m_caretBlinkTimer(this, &FrameCaret::caretBlinkTimerFired) , m_caretBlinkTimer(this, &FrameCaret::caretBlinkTimerFired)
, m_caretRectDirty(true) , m_caretRectDirty(true)
...@@ -119,10 +120,10 @@ void FrameCaret::startBlinkCaret() ...@@ -119,10 +120,10 @@ void FrameCaret::startBlinkCaret()
void FrameCaret::setCaretVisibility(CaretVisibility visibility) void FrameCaret::setCaretVisibility(CaretVisibility visibility)
{ {
if (getCaretVisibility() == visibility) if (m_caretVisibility == visibility)
return; return;
CaretBase::setCaretVisibility(visibility); m_caretVisibility = visibility;
updateAppearance(); updateAppearance();
} }
...@@ -169,7 +170,7 @@ void FrameCaret::invalidateCaretRect(bool forceInvalidation) ...@@ -169,7 +170,7 @@ void FrameCaret::invalidateCaretRect(bool forceInvalidation)
&& !m_caretBlinkTimer.isActive() && !m_caretBlinkTimer.isActive()
&& newNode == m_previousCaretNode && newNode == m_previousCaretNode
&& newRect == m_previousCaretRect && newRect == m_previousCaretRect
&& getCaretVisibility() == m_previousCaretVisibility) && m_caretVisibility == m_previousCaretVisibility)
return; return;
LayoutViewItem view = m_frame->document()->layoutViewItem(); LayoutViewItem view = m_frame->document()->layoutViewItem();
...@@ -179,7 +180,7 @@ void FrameCaret::invalidateCaretRect(bool forceInvalidation) ...@@ -179,7 +180,7 @@ void FrameCaret::invalidateCaretRect(bool forceInvalidation)
invalidateLocalCaretRect(newNode, newRect); invalidateLocalCaretRect(newNode, newRect);
m_previousCaretNode = newNode; m_previousCaretNode = newNode;
m_previousCaretRect = newRect; m_previousCaretRect = newRect;
m_previousCaretVisibility = getCaretVisibility(); m_previousCaretVisibility = m_caretVisibility;
} }
IntRect FrameCaret::absoluteCaretBounds() IntRect FrameCaret::absoluteCaretBounds()
...@@ -214,6 +215,9 @@ void FrameCaret::setShouldShowBlockCursor(bool shouldShowBlockCursor) ...@@ -214,6 +215,9 @@ void FrameCaret::setShouldShowBlockCursor(bool shouldShowBlockCursor)
void FrameCaret::paintCaret(GraphicsContext& context, const LayoutPoint& paintOffset) void FrameCaret::paintCaret(GraphicsContext& context, const LayoutPoint& paintOffset)
{ {
if (m_caretVisibility == CaretVisibility::Hidden)
return;
if (!(isActive() && m_shouldPaintCaret)) if (!(isActive() && m_shouldPaintCaret))
return; return;
...@@ -250,7 +254,7 @@ void FrameCaret::documentDetached() ...@@ -250,7 +254,7 @@ void FrameCaret::documentDetached()
bool FrameCaret::shouldBlinkCaret() const bool FrameCaret::shouldBlinkCaret() const
{ {
if (!caretIsVisible() || !isActive()) if (m_caretVisibility != CaretVisibility::Visible || !isActive())
return false; return false;
if (m_frame->settings() && m_frame->settings()->caretBrowsingEnabled()) if (m_frame->settings() && m_frame->settings()->caretBrowsingEnabled())
...@@ -269,7 +273,7 @@ bool FrameCaret::shouldBlinkCaret() const ...@@ -269,7 +273,7 @@ bool FrameCaret::shouldBlinkCaret() const
void FrameCaret::caretBlinkTimerFired(TimerBase*) void FrameCaret::caretBlinkTimerFired(TimerBase*)
{ {
DCHECK(caretIsVisible()); DCHECK_EQ(m_caretVisibility, CaretVisibility::Visible);
if (isCaretBlinkingSuspended() && m_shouldPaintCaret) if (isCaretBlinkingSuspended() && m_shouldPaintCaret)
return; return;
m_shouldPaintCaret = !m_shouldPaintCaret; m_shouldPaintCaret = !m_shouldPaintCaret;
......
...@@ -34,6 +34,8 @@ namespace blink { ...@@ -34,6 +34,8 @@ namespace blink {
class SelectionEditor; class SelectionEditor;
enum class CaretVisibility { Visible, Hidden };
class CORE_EXPORT FrameCaret final : public CaretBase { class CORE_EXPORT FrameCaret final : public CaretBase {
public: public:
FrameCaret(LocalFrame*, const SelectionEditor&); FrameCaret(LocalFrame*, const SelectionEditor&);
...@@ -49,7 +51,7 @@ public: ...@@ -49,7 +51,7 @@ public:
void stopCaretBlinkTimer(); void stopCaretBlinkTimer();
void startBlinkCaret(); void startBlinkCaret();
void setCaretVisibility(CaretVisibility) override; void setCaretVisibility(CaretVisibility);
bool isCaretBoundsDirty() const { return m_caretRectDirty; } bool isCaretBoundsDirty() const { return m_caretRectDirty; }
void setCaretRectNeedsUpdate(); void setCaretRectNeedsUpdate();
// If |forceInvalidation| is true the caret's previous and new rectangles // If |forceInvalidation| is true the caret's previous and new rectangles
...@@ -88,6 +90,7 @@ private: ...@@ -88,6 +90,7 @@ private:
// caret when it moves. // caret when it moves.
Member<Node> m_previousCaretNode; Member<Node> m_previousCaretNode;
LayoutRect m_previousCaretRect; LayoutRect m_previousCaretRect;
CaretVisibility m_caretVisibility;
CaretVisibility m_previousCaretVisibility; CaretVisibility m_previousCaretVisibility;
Timer<FrameCaret> m_caretBlinkTimer; Timer<FrameCaret> m_caretBlinkTimer;
bool m_caretRectDirty : 1; bool m_caretRectDirty : 1;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment