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 24a903f0b6793212aaf9c072c1818ff0010f94b0..c164b64911cac8d5071dba3fb655b95bfcaef027 100644 |
--- a/third_party/WebKit/Source/core/editing/FrameSelection.h |
+++ b/third_party/WebKit/Source/core/editing/FrameSelection.h |
@@ -65,6 +65,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); |
@@ -84,6 +86,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; |
@@ -151,6 +154,7 @@ class CORE_EXPORT FrameSelection final |
// the frame you entirely selected. |
void selectFrameElementInParentIfFullySelected(); |
+ bool contains(const HitTestResult&); |
bool contains(const LayoutPoint&); |
SelectionType getSelectionType() const { |
@@ -235,6 +239,11 @@ class CORE_EXPORT FrameSelection final |
void pageActivationChanged(); |
void setUseSecureKeyboardEntryWhenActive(bool); |
+ |
+ bool isHandleVisible() const { |
+ return m_handleVisibility == HandleVisibility::Visible; |
+ } |
+ |
void updateSecureKeyboardEntryIfActive(); |
// Returns true if a word is selected. |
@@ -335,6 +344,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; |