Index: third_party/WebKit/Source/core/editing/VisibleSelection.cpp |
diff --git a/third_party/WebKit/Source/core/editing/VisibleSelection.cpp b/third_party/WebKit/Source/core/editing/VisibleSelection.cpp |
index 6630bfbf0cf89e082f9b7a17f4e8f2fba71aa7f3..8c4ebc40134989816f00005c63854018a1bd38a5 100644 |
--- a/third_party/WebKit/Source/core/editing/VisibleSelection.cpp |
+++ b/third_party/WebKit/Source/core/editing/VisibleSelection.cpp |
@@ -49,6 +49,7 @@ VisibleSelectionTemplate<Strategy>::VisibleSelectionTemplate() |
, m_isDirectional(false) |
, m_granularity(CharacterGranularity) |
, m_hasTrailingWhitespace(false) |
+ , m_isHandleVisible(true) |
{ |
} |
@@ -59,13 +60,14 @@ VisibleSelectionTemplate<Strategy>::VisibleSelectionTemplate(const PositionTempl |
} |
template <typename Strategy> |
-VisibleSelectionTemplate<Strategy>::VisibleSelectionTemplate(const PositionTemplate<Strategy>& base, const PositionTemplate<Strategy>& extent, TextAffinity affinity, bool isDirectional) |
+VisibleSelectionTemplate<Strategy>::VisibleSelectionTemplate(const PositionTemplate<Strategy>& base, const PositionTemplate<Strategy>& extent, TextAffinity affinity, bool isDirectional, bool isHandleVisible) |
: m_base(base) |
, m_extent(extent) |
, m_affinity(affinity) |
, m_isDirectional(isDirectional) |
, m_granularity(CharacterGranularity) |
, m_hasTrailingWhitespace(false) |
+ , m_isHandleVisible(isHandleVisible) |
{ |
validate(); |
} |
@@ -83,8 +85,8 @@ VisibleSelectionTemplate<Strategy>::VisibleSelectionTemplate(const VisiblePositi |
} |
template <typename Strategy> |
-VisibleSelectionTemplate<Strategy>::VisibleSelectionTemplate(const VisiblePositionTemplate<Strategy>& base, const VisiblePositionTemplate<Strategy>& extent, bool isDirectional) |
- : VisibleSelectionTemplate(base.deepEquivalent(), extent.deepEquivalent(), base.affinity(), isDirectional) |
+VisibleSelectionTemplate<Strategy>::VisibleSelectionTemplate(const VisiblePositionTemplate<Strategy>& base, const VisiblePositionTemplate<Strategy>& extent, bool isDirectional, bool isHandleVisible) |
+ : VisibleSelectionTemplate(base.deepEquivalent(), extent.deepEquivalent(), base.affinity(), isDirectional, isHandleVisible) |
{ |
} |
@@ -125,6 +127,7 @@ VisibleSelectionTemplate<Strategy>::VisibleSelectionTemplate(const VisibleSelect |
, m_isDirectional(other.m_isDirectional) |
, m_granularity(other.m_granularity) |
, m_hasTrailingWhitespace(other.m_hasTrailingWhitespace) |
+ , m_isHandleVisible(other.m_isHandleVisible) |
{ |
} |
@@ -141,6 +144,7 @@ VisibleSelectionTemplate<Strategy>& VisibleSelectionTemplate<Strategy>::operator |
m_isDirectional = other.m_isDirectional; |
m_granularity = other.m_granularity; |
m_hasTrailingWhitespace = other.m_hasTrailingWhitespace; |
+ m_isHandleVisible = other.m_isHandleVisible; |
return *this; |
} |
@@ -758,7 +762,9 @@ void VisibleSelectionTemplate<Strategy>::validatePositionsIfNeeded() |
template <typename Strategy> |
static bool equalSelectionsAlgorithm(const VisibleSelectionTemplate<Strategy>& selection1, const VisibleSelectionTemplate<Strategy>& selection2) |
{ |
- if (selection1.affinity() != selection2.affinity() || selection1.isDirectional() != selection2.isDirectional()) |
+ if (selection1.affinity() != selection2.affinity() |
+ || selection1.isDirectional() != selection2.isDirectional() |
+ || selection1.isHandleVisible() != selection2.isHandleVisible()) |
return false; |
if (selection1.isNone()) |