Index: Source/core/editing/markup.cpp |
diff --git a/Source/core/editing/markup.cpp b/Source/core/editing/markup.cpp |
index 1d7b8b49bd433e04e9d66d4d191c6853f017cea6..af001a849255dada4bfbb5fcf04e9e104307c7ef 100644 |
--- a/Source/core/editing/markup.cpp |
+++ b/Source/core/editing/markup.cpp |
@@ -1075,4 +1075,18 @@ void replaceChildrenWithText(ContainerNode* container, const String& text, Excep |
containerNode->appendChild(textNode.release(), es); |
} |
+void mergeWithNextTextNode(PassRefPtr<Node> node, ExceptionState& es) |
+{ |
+ ASSERT(node && node->isTextNode()); |
+ Node* next = node->nextSibling(); |
+ if (!next || !next->isTextNode()) |
+ return; |
+ |
+ RefPtr<Text> textNode = toText(node.get()); |
+ RefPtr<Text> textNext = toText(next); |
+ textNode->appendData(textNext->data()); |
+ if (textNext->parentNode()) // Might have been removed by mutation event. |
+ textNext->remove(es); |
+} |
+ |
} |