aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom/node.rs
diff options
context:
space:
mode:
authorAndriy Sultanov <53952748+last-genius@users.noreply.github.com>2024-09-09 23:38:01 +0100
committerGitHub <noreply@github.com>2024-09-09 22:38:01 +0000
commite5150dbda1f89ff07294dbd1ca4e8f4f08cf4874 (patch)
treee77fae25f33905e1c8c626cf532e7222f521335c /components/script/dom/node.rs
parent10e5bb72d9e16655b625b8971e346ff479b17fd2 (diff)
downloadservo-e5150dbda1f89ff07294dbd1ca4e8f4f08cf4874.tar.gz
servo-e5150dbda1f89ff07294dbd1ca4e8f4f08cf4874.zip
Propagate `CanGc` from `Document::new()` (#33386)
* Add canGc as a parameter to autogenerated trait methods Signed-off-by: Andriy Sultanov <sultanovandriy@gmail.com> * Propagate CanGc from Document::new() Signed-off-by: Andriy Sultanov <sultanovandriy@gmail.com> --------- Signed-off-by: Andriy Sultanov <sultanovandriy@gmail.com>
Diffstat (limited to 'components/script/dom/node.rs')
-rw-r--r--components/script/dom/node.rs9
1 files changed, 7 insertions, 2 deletions
diff --git a/components/script/dom/node.rs b/components/script/dom/node.rs
index f167b75a81d..6122db3221a 100644
--- a/components/script/dom/node.rs
+++ b/components/script/dom/node.rs
@@ -2240,6 +2240,7 @@ impl Node {
node: &Node,
maybe_doc: Option<&Document>,
clone_children: CloneChildrenFlag,
+ can_gc: CanGc,
) -> DomRoot<Node> {
// Step 1.
let document = match maybe_doc {
@@ -2306,6 +2307,7 @@ impl Node {
None,
document.status_code(),
Default::default(),
+ CanGc::note(),
);
DomRoot::upcast::<Node>(document)
},
@@ -2323,6 +2325,7 @@ impl Node {
ElementCreator::ScriptCreated,
CustomElementCreationMode::Asynchronous,
None,
+ can_gc,
);
DomRoot::upcast::<Node>(element)
},
@@ -2366,7 +2369,8 @@ impl Node {
// Step 6.
if clone_children == CloneChildrenFlag::CloneChildren {
for child in node.children() {
- let child_copy = Node::clone(&child, Some(&document), clone_children);
+ let child_copy =
+ Node::clone(&child, Some(&document), clone_children, CanGc::note());
let _inserted_node = Node::pre_insert(&child_copy, &copy, None);
}
}
@@ -2816,7 +2820,7 @@ impl NodeMethods for Node {
}
/// <https://dom.spec.whatwg.org/#dom-node-clonenode>
- fn CloneNode(&self, deep: bool) -> Fallible<DomRoot<Node>> {
+ fn CloneNode(&self, deep: bool, can_gc: CanGc) -> Fallible<DomRoot<Node>> {
if deep && self.is::<ShadowRoot>() {
return Err(Error::NotSupported);
}
@@ -2828,6 +2832,7 @@ impl NodeMethods for Node {
} else {
CloneChildrenFlag::DoNotCloneChildren
},
+ can_gc,
))
}