| Index: Source/core/dom/Node.cpp
|
| diff --git a/Source/core/dom/Node.cpp b/Source/core/dom/Node.cpp
|
| index 2c443dc0795ffecdf65b9dc9902c959f7a24f873..dfee760fd905f2cde64bdb6ee4a6dc522b2d4f39 100644
|
| --- a/Source/core/dom/Node.cpp
|
| +++ b/Source/core/dom/Node.cpp
|
| @@ -492,96 +492,6 @@
|
| return nullptr;
|
| }
|
|
|
| -static bool isNodeInNodes(const Node& node, const HeapVector<NodeOrString>& nodes)
|
| -{
|
| - for (const NodeOrString& nodeOrString : nodes) {
|
| - if (nodeOrString.isNode() && nodeOrString.getAsNode() == &node)
|
| - return true;
|
| - }
|
| - return false;
|
| -}
|
| -
|
| -static Node* findViablePreviousSibling(const Node& node, const HeapVector<NodeOrString>& nodes)
|
| -{
|
| - for (Node* sibling = node.previousSibling(); sibling; sibling = sibling->previousSibling()) {
|
| - if (!isNodeInNodes(*sibling, nodes))
|
| - return sibling;
|
| - }
|
| - return nullptr;
|
| -}
|
| -
|
| -static Node* findViableNextSibling(const Node& node, const HeapVector<NodeOrString>& nodes)
|
| -{
|
| - for (Node* sibling = node.nextSibling(); sibling; sibling = sibling->nextSibling()) {
|
| - if (!isNodeInNodes(*sibling, nodes))
|
| - return sibling;
|
| - }
|
| - return nullptr;
|
| -}
|
| -
|
| -static PassRefPtrWillBeRawPtr<Node> nodeOrStringToNode(const NodeOrString& nodeOrString, Document& document)
|
| -{
|
| - if (nodeOrString.isNode())
|
| - return nodeOrString.getAsNode();
|
| - return Text::create(document, nodeOrString.getAsString());
|
| -}
|
| -
|
| -static PassRefPtrWillBeRawPtr<Node> convertNodesIntoNode(const HeapVector<NodeOrString>& nodes, Document& document)
|
| -{
|
| - if (nodes.size() == 1)
|
| - return nodeOrStringToNode(nodes[0], document);
|
| -
|
| - RefPtrWillBeRawPtr<Node> fragment = DocumentFragment::create(document);
|
| - for (const NodeOrString& nodeOrString : nodes)
|
| - fragment->appendChild(nodeOrStringToNode(nodeOrString, document), ASSERT_NO_EXCEPTION);
|
| - return fragment.release();
|
| -}
|
| -
|
| -void Node::prepend(const HeapVector<NodeOrString>& nodes, ExceptionState& exceptionState)
|
| -{
|
| - RefPtrWillBeRawPtr<Node> node = convertNodesIntoNode(nodes, document());
|
| - insertBefore(node, firstChild(), exceptionState);
|
| -}
|
| -
|
| -void Node::append(const HeapVector<NodeOrString>& nodes, ExceptionState& exceptionState)
|
| -{
|
| - RefPtrWillBeRawPtr<Node> node = convertNodesIntoNode(nodes, document());
|
| - appendChild(node, exceptionState);
|
| -}
|
| -
|
| -void Node::before(const HeapVector<NodeOrString>& nodes, ExceptionState& exceptionState)
|
| -{
|
| - Node* parent = parentNode();
|
| - if (!parent)
|
| - return;
|
| - Node* viablePreviousSibling = findViablePreviousSibling(*this, nodes);
|
| - RefPtrWillBeRawPtr<Node> node = convertNodesIntoNode(nodes, document());
|
| - parent->insertBefore(node, viablePreviousSibling ? viablePreviousSibling->nextSibling() : parent->firstChild(), exceptionState);
|
| -}
|
| -
|
| -void Node::after(const HeapVector<NodeOrString>& nodes, ExceptionState& exceptionState)
|
| -{
|
| - Node* parent = parentNode();
|
| - if (!parent)
|
| - return;
|
| - Node* viableNextSibling = findViableNextSibling(*this, nodes);
|
| - RefPtrWillBeRawPtr<Node> node = convertNodesIntoNode(nodes, document());
|
| - parent->insertBefore(node, viableNextSibling, exceptionState);
|
| -}
|
| -
|
| -void Node::replaceWith(const HeapVector<NodeOrString>& nodes, ExceptionState& exceptionState)
|
| -{
|
| - Node* parent = parentNode();
|
| - if (!parent)
|
| - return;
|
| - Node* viableNextSibling = findViableNextSibling(*this, nodes);
|
| - RefPtrWillBeRawPtr<Node> node = convertNodesIntoNode(nodes, document());
|
| - if (parent == parentNode())
|
| - parent->replaceChild(node, this, exceptionState);
|
| - else
|
| - parent->insertBefore(node, viableNextSibling, exceptionState);
|
| -}
|
| -
|
| void Node::remove(ExceptionState& exceptionState)
|
| {
|
| if (ContainerNode* parent = parentNode())
|
|
|