mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2024-09-20 09:49:15 +03: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
Notes:
sideshowbarker
2024-07-17 18:25:01 +09:00
Author: https://github.com/awesomekling Commit: https://github.com/SerenityOS/serenity/commit/19b5033dc4
@ -348,6 +348,12 @@ ExceptionOr<NonnullRefPtr<Node>> Node::pre_insert(NonnullRefPtr<Node> node, RefP
|
||||
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
|
||||
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 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.
|
||||
|
||||
|
@ -90,6 +90,8 @@ public:
|
||||
ExceptionOr<NonnullRefPtr<Node>> pre_remove(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 remove(bool suppress_observers = false);
|
||||
void remove_all_children(bool suppress_observers = false);
|
||||
|
Loading…
Reference in New Issue
Block a user