mirror of
https://github.com/RGBCube/serenity
synced 2025-07-26 02:37:35 +00:00
LibWeb: Implement Node.removeChild() in terms of "pre-remove"
This is what the spec wants us to do.
This commit is contained in:
parent
8b2499b112
commit
19b5033dc4
2 changed files with 9 additions and 1 deletions
|
@ -348,6 +348,12 @@ ExceptionOr<NonnullRefPtr<Node>> Node::pre_insert(NonnullRefPtr<Node> node, RefP
|
||||||
return node;
|
return node;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// https://dom.spec.whatwg.org/#dom-node-removechild
|
||||||
|
ExceptionOr<NonnullRefPtr<Node>> Node::remove_child(NonnullRefPtr<Node> child)
|
||||||
|
{
|
||||||
|
return pre_remove(child);
|
||||||
|
}
|
||||||
|
|
||||||
// https://dom.spec.whatwg.org/#concept-node-pre-remove
|
// https://dom.spec.whatwg.org/#concept-node-pre-remove
|
||||||
ExceptionOr<NonnullRefPtr<Node>> Node::pre_remove(NonnullRefPtr<Node> child)
|
ExceptionOr<NonnullRefPtr<Node>> Node::pre_remove(NonnullRefPtr<Node> child)
|
||||||
{
|
{
|
||||||
|
@ -383,7 +389,7 @@ void Node::remove(bool suppress_observers)
|
||||||
// FIXME: Let oldPreviousSibling be node’s previous sibling. (Currently unused so not included)
|
// FIXME: Let oldPreviousSibling be node’s previous sibling. (Currently unused so not included)
|
||||||
// FIXME: Let oldNextSibling be node’s next sibling. (Currently unused so not included)
|
// FIXME: Let oldNextSibling be node’s next sibling. (Currently unused so not included)
|
||||||
|
|
||||||
parent->remove_child(*this);
|
parent->TreeNode::remove_child(*this);
|
||||||
|
|
||||||
// FIXME: If node is assigned, then run assign slottables for node’s assigned slot.
|
// FIXME: If node is assigned, then run assign slottables for node’s assigned slot.
|
||||||
|
|
||||||
|
|
|
@ -90,6 +90,8 @@ public:
|
||||||
ExceptionOr<NonnullRefPtr<Node>> pre_remove(NonnullRefPtr<Node>);
|
ExceptionOr<NonnullRefPtr<Node>> pre_remove(NonnullRefPtr<Node>);
|
||||||
|
|
||||||
ExceptionOr<NonnullRefPtr<Node>> append_child(NonnullRefPtr<Node>);
|
ExceptionOr<NonnullRefPtr<Node>> append_child(NonnullRefPtr<Node>);
|
||||||
|
ExceptionOr<NonnullRefPtr<Node>> remove_child(NonnullRefPtr<Node>);
|
||||||
|
|
||||||
void insert_before(NonnullRefPtr<Node> node, RefPtr<Node> child, bool suppress_observers = false);
|
void insert_before(NonnullRefPtr<Node> node, RefPtr<Node> child, bool suppress_observers = false);
|
||||||
void remove(bool suppress_observers = false);
|
void remove(bool suppress_observers = false);
|
||||||
void remove_all_children(bool suppress_observers = false);
|
void remove_all_children(bool suppress_observers = false);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue