Index: Source/core/editing/FrameSelection.h |
diff --git a/Source/core/editing/FrameSelection.h b/Source/core/editing/FrameSelection.h |
index ebffebe35f6ffa60f3aa7b1f63c8f5b722ede3d2..1b8f46dd537ec543924d869255ac94952b72dc7a 100644 |
--- a/Source/core/editing/FrameSelection.h |
+++ b/Source/core/editing/FrameSelection.h |
@@ -89,6 +89,10 @@ public: |
NonDirectional, |
Directional |
}; |
+ enum UpdateAppearanceOption { |
+ None, |
+ ResetCaretBlink |
+ }; |
abarth-chromium
2014/08/13 20:42:44
Why do we need this option?
yoichio
2014/08/13 21:43:32
To use restart caret blinking,
for example, moving
|
Element* rootEditableElement() const { return m_selection.rootEditableElement(); } |
Element* rootEditableElementOrDocumentElement() const; |
@@ -139,13 +143,8 @@ public: |
// Return the renderer that is responsible for painting the caret (in the selection start node) |
RenderBlock* caretRenderer() const; |
- // Caret rect local to the caret's renderer |
- LayoutRect localCaretRect(); |
- LayoutRect localCaretRectWithoutUpdateForTesting() const { return CaretBase::localCaretRectWithoutUpdate(); } |
- |
// Bounds of (possibly transformed) caret in absolute coords |
IntRect absoluteCaretBounds(); |
- void setCaretRectNeedsUpdate() { CaretBase::setCaretRectNeedsUpdate(); } |
void didChangeFocus(); |
void willBeModified(EAlteration, SelectionDirection); |
@@ -168,8 +167,12 @@ public: |
void didMergeTextNodes(const Text& oldNode, unsigned offset); |
void didSplitTextNode(const Text& oldNode); |
+ // Painting. |
+ void updateAppearance(UpdateAppearanceOption = None); |
abarth-chromium
2014/08/13 20:42:44
What does updateAppearance do? Does it update the
yoichio
2014/08/13 21:43:32
Yes, it updates.
The name was confusing. Renamed.
|
void setCaretVisible(bool caretIsVisible) { setCaretVisibility(caretIsVisible ? Visible : Hidden); } |
- bool recomputeCaretRect(); |
+ bool isCaretBoundsDirty() const { return m_caretRectDirty; } |
+ void setCaretRectNeedsUpdate(); |
+ void scheduleVisualUpdate() const; |
void invalidateCaretRect(); |
void paintCaret(GraphicsContext*, const LayoutPoint&, const LayoutRect& clipRect); |
@@ -183,8 +186,7 @@ public: |
bool isFocusedAndActive() const; |
void pageActivationChanged(); |
- // Painting. |
- void updateAppearance(); |
+ |
void updateSecureKeyboardEntryIfActive(); |
@@ -280,13 +282,13 @@ private: |
RefPtrWillBeMember<Range> m_logicalRange; |
RefPtrWillBeMember<Node> m_previousCaretNode; // The last node which painted the caret. Retained for clearing the old caret when it moves. |
+ LayoutRect m_previousCaretRect; |
RefPtrWillBeMember<EditingStyle> m_typingStyle; |
Timer<FrameSelection> m_caretBlinkTimer; |
- // The painted bounds of the caret in absolute coordinates |
- IntRect m_absCaretBounds; |
- bool m_absCaretBoundsDirty : 1; |
+ |
+ bool m_caretRectDirty : 1; |
bool m_caretPaint : 1; |
bool m_isCaretBlinkingSuspended : 1; |
bool m_focused : 1; |