Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(13)

Side by Side Diff: third_party/WebKit/Source/core/editing/FrameCaret.h

Issue 2325933002: Move m_caretVisibility from CaretBase to FrameCaret (Closed)
Patch Set: 2016-09-09T14:05:22 Created 4 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2004, 2008, 2009, 2010 Apple Inc. All rights reserved. 2 * Copyright (C) 2004, 2008, 2009, 2010 Apple Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions 5 * modification, are permitted provided that the following conditions
6 * are met: 6 * are met:
7 * 1. Redistributions of source code must retain the above copyright 7 * 1. Redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer. 8 * notice, this list of conditions and the following disclaimer.
9 * 2. Redistributions in binary form must reproduce the above copyright 9 * 2. Redistributions in binary form must reproduce the above copyright
10 * notice, this list of conditions and the following disclaimer in the 10 * notice, this list of conditions and the following disclaimer in the
(...skipping 16 matching lines...) Expand all
27 #define FrameCaret_h 27 #define FrameCaret_h
28 28
29 #include "core/CoreExport.h" 29 #include "core/CoreExport.h"
30 #include "core/editing/CaretBase.h" 30 #include "core/editing/CaretBase.h"
31 #include "platform/geometry/IntRect.h" 31 #include "platform/geometry/IntRect.h"
32 32
33 namespace blink { 33 namespace blink {
34 34
35 class SelectionEditor; 35 class SelectionEditor;
36 36
37 enum class CaretVisibility { Visible, Hidden };
38
37 class CORE_EXPORT FrameCaret final : public CaretBase { 39 class CORE_EXPORT FrameCaret final : public CaretBase {
38 public: 40 public:
39 FrameCaret(LocalFrame*, const SelectionEditor&); 41 FrameCaret(LocalFrame*, const SelectionEditor&);
40 ~FrameCaret() override; 42 ~FrameCaret() override;
41 43
42 bool isActive() const { return caretPosition().isNotNull(); } 44 bool isActive() const { return caretPosition().isNotNull(); }
43 45
44 void updateAppearance(); 46 void updateAppearance();
45 47
46 // Used to suspend caret blinking while the mouse is down. 48 // Used to suspend caret blinking while the mouse is down.
47 void setCaretBlinkingSuspended(bool suspended) { m_isCaretBlinkingSuspended = suspended; } 49 void setCaretBlinkingSuspended(bool suspended) { m_isCaretBlinkingSuspended = suspended; }
48 bool isCaretBlinkingSuspended() const { return m_isCaretBlinkingSuspended; } 50 bool isCaretBlinkingSuspended() const { return m_isCaretBlinkingSuspended; }
49 void stopCaretBlinkTimer(); 51 void stopCaretBlinkTimer();
50 void startBlinkCaret(); 52 void startBlinkCaret();
51 53
52 void setCaretVisibility(CaretVisibility) override; 54 void setCaretVisibility(CaretVisibility);
53 bool isCaretBoundsDirty() const { return m_caretRectDirty; } 55 bool isCaretBoundsDirty() const { return m_caretRectDirty; }
54 void setCaretRectNeedsUpdate(); 56 void setCaretRectNeedsUpdate();
55 // If |forceInvalidation| is true the caret's previous and new rectangles 57 // If |forceInvalidation| is true the caret's previous and new rectangles
56 // are forcibly invalidated regardless of the state of the blink timer. 58 // are forcibly invalidated regardless of the state of the blink timer.
57 void invalidateCaretRect(bool forceInvalidation); 59 void invalidateCaretRect(bool forceInvalidation);
58 IntRect absoluteCaretBounds(); 60 IntRect absoluteCaretBounds();
59 61
60 bool shouldShowBlockCursor() const { return m_shouldShowBlockCursor; } 62 bool shouldShowBlockCursor() const { return m_shouldShowBlockCursor; }
61 void setShouldShowBlockCursor(bool); 63 void setShouldShowBlockCursor(bool);
62 64
(...skipping 18 matching lines...) Expand all
81 bool shouldBlinkCaret() const; 83 bool shouldBlinkCaret() const;
82 void caretBlinkTimerFired(TimerBase*); 84 void caretBlinkTimerFired(TimerBase*);
83 bool caretPositionIsValidForDocument(const Document&) const; 85 bool caretPositionIsValidForDocument(const Document&) const;
84 86
85 const Member<const SelectionEditor> m_selectionEditor; 87 const Member<const SelectionEditor> m_selectionEditor;
86 const Member<LocalFrame> m_frame; 88 const Member<LocalFrame> m_frame;
87 // The last node which painted the caret. Retained for clearing the old 89 // The last node which painted the caret. Retained for clearing the old
88 // caret when it moves. 90 // caret when it moves.
89 Member<Node> m_previousCaretNode; 91 Member<Node> m_previousCaretNode;
90 LayoutRect m_previousCaretRect; 92 LayoutRect m_previousCaretRect;
93 CaretVisibility m_caretVisibility;
91 CaretVisibility m_previousCaretVisibility; 94 CaretVisibility m_previousCaretVisibility;
92 Timer<FrameCaret> m_caretBlinkTimer; 95 Timer<FrameCaret> m_caretBlinkTimer;
93 bool m_caretRectDirty : 1; 96 bool m_caretRectDirty : 1;
94 bool m_shouldPaintCaret : 1; 97 bool m_shouldPaintCaret : 1;
95 bool m_isCaretBlinkingSuspended : 1; 98 bool m_isCaretBlinkingSuspended : 1;
96 bool m_shouldShowBlockCursor : 1; 99 bool m_shouldShowBlockCursor : 1;
97 }; 100 };
98 101
99 } // namespace blink 102 } // namespace blink
100 103
101 #endif // FrameCaret_h 104 #endif // FrameCaret_h
OLDNEW
« no previous file with comments | « third_party/WebKit/Source/core/editing/DragCaretController.cpp ('k') | third_party/WebKit/Source/core/editing/FrameCaret.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698