| 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())
|
|
|