diff options
author | Andriy Sultanov <53952748+last-genius@users.noreply.github.com> | 2024-09-09 23:38:01 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-09-09 22:38:01 +0000 |
commit | e5150dbda1f89ff07294dbd1ca4e8f4f08cf4874 (patch) | |
tree | e77fae25f33905e1c8c626cf532e7222f521335c /components/script/dom/node.rs | |
parent | 10e5bb72d9e16655b625b8971e346ff479b17fd2 (diff) | |
download | servo-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.rs | 9 |
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, ©, 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, )) } |