Index: third_party/WebKit/Source/core/editing/FrameSelection.h |
diff --git a/third_party/WebKit/Source/core/editing/FrameSelection.h b/third_party/WebKit/Source/core/editing/FrameSelection.h |
index 1e2a5a36e0c6c7d9fe7157f7e0c519813021915f..f1c055f60fd2673ce41d43bbca1fcc033a04f585 100644 |
--- a/third_party/WebKit/Source/core/editing/FrameSelection.h |
+++ b/third_party/WebKit/Source/core/editing/FrameSelection.h |
@@ -67,6 +67,8 @@ enum class SelectionDirectionalMode { NonDirectional, Directional }; |
enum class CaretVisibility; |
+enum class HandleVisibility { NotVisible, Visible }; |
+ |
class CORE_EXPORT FrameSelection final |
: public GarbageCollectedFinalized<FrameSelection> { |
WTF_MAKE_NONCOPYABLE(FrameSelection); |
@@ -86,6 +88,7 @@ class CORE_EXPORT FrameSelection final |
DoNotUpdateAppearance = 1 << 4, |
DoNotClearStrategy = 1 << 5, |
DoNotAdjustInFlatTree = 1 << 6, |
+ HandleVisible = 1 << 7, |
}; |
// Union of values in SetSelectionOption and EUserTriggered |
typedef unsigned SetSelectionOptions; |
@@ -148,11 +151,13 @@ class CORE_EXPORT FrameSelection final |
FrameSelection::SetSelectionOptions = CloseTyping | ClearTypingStyle); |
void selectAll(); |
void clear(); |
+ void clearHandles(); |
// Call this after doing user-triggered selections to make it easy to delete |
// the frame you entirely selected. |
void selectFrameElementInParentIfFullySelected(); |
+ bool contains(const HitTestResult&); |
bool contains(const LayoutPoint&); |
SelectionType getSelectionType() const { |
@@ -240,6 +245,10 @@ class CORE_EXPORT FrameSelection final |
bool isFocusedAndActive() const; |
void pageActivationChanged(); |
+ bool isHandleVisible() const { |
+ return m_handleVisibility == HandleVisibility::Visible; |
+ } |
+ |
void updateSecureKeyboardEntryIfActive(); |
// Returns true if a word is selected. |
@@ -340,6 +349,8 @@ class CORE_EXPORT FrameSelection final |
bool m_focused : 1; |
+ HandleVisibility m_handleVisibility = HandleVisibility::NotVisible; |
+ |
// Controls text granularity used to adjust the selection's extent in |
// moveRangeSelectionExtent. |
std::unique_ptr<GranularityStrategy> m_granularityStrategy; |