| Index: Source/core/editing/VisibleSelection.cpp
|
| diff --git a/Source/core/editing/VisibleSelection.cpp b/Source/core/editing/VisibleSelection.cpp
|
| index 16e6d189df7a0d76ec9e7a9c069a09e6d636ced9..3a286ea7c5c92643902e1f085ff2fa304d2c8cfb 100644
|
| --- a/Source/core/editing/VisibleSelection.cpp
|
| +++ b/Source/core/editing/VisibleSelection.cpp
|
| @@ -905,6 +905,19 @@ bool VisibleSelection::isBaseFirstInComposedTree() const
|
| return m_baseInComposedTree.isNotNull() && m_baseInComposedTree.compareTo(m_extentInComposedTree) <= 0;
|
| }
|
|
|
| +static Element* lowestEditableAncestor(Node* node)
|
| +{
|
| + while (node) {
|
| + if (node->hasEditableStyle())
|
| + return node->rootEditableElement();
|
| + if (isHTMLBodyElement(*node))
|
| + break;
|
| + node = node->parentNode();
|
| + }
|
| +
|
| + return nullptr;
|
| +}
|
| +
|
| void VisibleSelection::adjustSelectionToAvoidCrossingEditingBoundaries()
|
| {
|
| if (m_base.isNull() || m_start.isNull() || m_end.isNull())
|
|
|