Chromium Code Reviews| Index: third_party/WebKit/Source/core/editing/EphemeralRange.cpp |
| diff --git a/third_party/WebKit/Source/core/editing/EphemeralRange.cpp b/third_party/WebKit/Source/core/editing/EphemeralRange.cpp |
| index 641d8b1fabc3f86d48086de4d370729b5ff2d0e4..9e97616c95c365e3ce848eeebbdf2a3fe6fe83bd 100644 |
| --- a/third_party/WebKit/Source/core/editing/EphemeralRange.cpp |
| +++ b/third_party/WebKit/Source/core/editing/EphemeralRange.cpp |
| @@ -11,6 +11,17 @@ |
| namespace blink { |
| +namespace { |
| + |
|
Xiaocheng
2017/03/02 20:00:16
nit: remove this extra blank line.
tanvir
2017/03/04 13:55:31
Done.
|
| +template <typename Strategy> |
| +Node* commonAncestorContainerNode(const Node* containerA, |
| + const Node* containerB) { |
| + if (!containerA || !containerB) |
| + return nullptr; |
| + return Strategy::commonAncestor(*containerA, *containerB); |
| +} |
| +} |
| + |
| template <typename Strategy> |
| EphemeralRangeTemplate<Strategy>::EphemeralRangeTemplate( |
| const PositionTemplate<Strategy>& start, |
| @@ -109,6 +120,13 @@ PositionTemplate<Strategy> EphemeralRangeTemplate<Strategy>::endPosition() |
| } |
| template <typename Strategy> |
| +Node* EphemeralRangeTemplate<Strategy>::commonAncestorContainer() const { |
| + return commonAncestorContainerNode<Strategy>( |
| + m_startPosition.computeContainerNode(), |
| + m_endPosition.computeContainerNode()); |
| +} |
| + |
| +template <typename Strategy> |
| bool EphemeralRangeTemplate<Strategy>::isCollapsed() const { |
| DCHECK(isValid()); |
| return m_startPosition == m_endPosition; |