mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-09-02 23:56:06 +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
Notes:
sideshowbarker
2024-07-17 18:25:01 +09:00
Author: https://github.com/awesomekling
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