| Index: third_party/WebKit/Source/core/editing/VisiblePosition.cpp
|
| diff --git a/third_party/WebKit/Source/core/editing/VisiblePosition.cpp b/third_party/WebKit/Source/core/editing/VisiblePosition.cpp
|
| index a9187c09d098b1deaa903fcad6f959e989ae41a8..2d6b92804d351ff5583c4e40820bbb45b4076878 100644
|
| --- a/third_party/WebKit/Source/core/editing/VisiblePosition.cpp
|
| +++ b/third_party/WebKit/Source/core/editing/VisiblePosition.cpp
|
| @@ -45,12 +45,20 @@ using namespace HTMLNames;
|
|
|
| template <typename Strategy>
|
| VisiblePositionTemplate<Strategy>::VisiblePositionTemplate()
|
| +#if DCHECK_IS_ON()
|
| + : m_domTreeVersion(0)
|
| + , m_styleVersion(0)
|
| +#endif
|
| {
|
| }
|
|
|
| template <typename Strategy>
|
| VisiblePositionTemplate<Strategy>::VisiblePositionTemplate(const PositionWithAffinityTemplate<Strategy>& positionWithAffinity)
|
| : m_positionWithAffinity(positionWithAffinity)
|
| +#if DCHECK_IS_ON()
|
| + , m_domTreeVersion(positionWithAffinity.position().document()->domTreeVersion())
|
| + , m_styleVersion(positionWithAffinity.position().document()->styleVersion())
|
| +#endif
|
| {
|
| }
|
|
|
| @@ -214,6 +222,19 @@ void VisiblePositionTemplate<Strategy>::showTreeForThis() const
|
|
|
| #endif
|
|
|
| +template <typename Strategy>
|
| +bool VisiblePositionTemplate<Strategy>::isValid() const
|
| +{
|
| +#if DCHECK_IS_ON()
|
| + if (isNull())
|
| + return true;
|
| + Document& document = *m_positionWithAffinity.position().document();
|
| + return m_domTreeVersion == document.domTreeVersion() && m_styleVersion == document.styleVersion() && !document.needsLayoutTreeUpdate();
|
| +#else
|
| + return true;
|
| +#endif
|
| +}
|
| +
|
| template class CORE_TEMPLATE_EXPORT VisiblePositionTemplate<EditingStrategy>;
|
| template class CORE_TEMPLATE_EXPORT VisiblePositionTemplate<EditingInFlatTreeStrategy>;
|
|
|
|
|