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..62fb4fb5e3e2912f1b3e115ff84efb293063808a 100644 |
--- a/third_party/WebKit/Source/core/editing/VisibleSelection.cpp |
+++ b/third_party/WebKit/Source/core/editing/VisibleSelection.cpp |
@@ -59,13 +59,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 +84,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 +126,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 +143,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 +761,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()) |