Bläddra i källkod

LibWeb: Add simple implementation of Node.removeChild()

Andreas Kling 4 år sedan
förälder
incheckning
a0bcfa30bf

+ 6 - 0
Userland/Libraries/LibWeb/DOM/Node.cpp

@@ -183,6 +183,12 @@ RefPtr<Node> Node::append_child(NonnullRefPtr<Node> node, bool notify)
     return node;
 }
 
+RefPtr<Node> Node::remove_child(NonnullRefPtr<Node> node)
+{
+    TreeNode<Node>::remove_child(node);
+    return node;
+}
+
 RefPtr<Node> Node::insert_before(NonnullRefPtr<Node> node, RefPtr<Node> child, bool notify)
 {
     if (!child)

+ 1 - 0
Userland/Libraries/LibWeb/DOM/Node.h

@@ -82,6 +82,7 @@ public:
 
     RefPtr<Node> append_child(NonnullRefPtr<Node>, bool notify = true);
     RefPtr<Node> insert_before(NonnullRefPtr<Node> node, RefPtr<Node> child, bool notify = true);
+    RefPtr<Node> remove_child(NonnullRefPtr<Node>);
 
     virtual RefPtr<Layout::Node> create_layout_node();
 

+ 1 - 1
Userland/Libraries/LibWeb/DOM/Node.idl

@@ -11,6 +11,6 @@ interface Node : EventTarget {
 
     Node appendChild(Node node);
     Node insertBefore(Node node, Node? child);
-
+    Node removeChild(Node child);
 };