Various CanGc fixes (#33800)

* CanGc fix for pagetransitionevent

Signed-off-by: webbeef <me@webbeef.org>

* CanGc fix for dom/node

Signed-off-by: webbeef <me@webbeef.org>

* CanGc fix for gamepad

Signed-off-by: webbeef <me@webbeef.org>

* CanGc fix for gpu

Signed-off-by: webbeef <me@webbeef.org>

* CanGc fix for dom/element

Signed-off-by: webbeef <me@webbeef.org>

* CanGc fix for xhr

Signed-off-by: webbeef <me@webbeef.org>

* CanGc fix for dom/worker

Signed-off-by: webbeef <me@webbeef.org>

* CanGc fix for rtcdatachannel

Signed-off-by: webbeef <me@webbeef.org>

* CanGc fix for rtcerror

Signed-off-by: webbeef <me@webbeef.org>

* Address review comments

Signed-off-by: webbeef <me@webbeef.org>

---------

Signed-off-by: webbeef <me@webbeef.org>
This commit is contained in:
webbeef 2024-10-10 20:53:39 -07:00 committed by GitHub
parent c00c6e728d
commit 2b71130a8a
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
24 changed files with 168 additions and 119 deletions

View file

@ -1896,7 +1896,7 @@ impl Element {
// See https://github.com/w3c/DOM-Parsing/issues/61.
let context_document = {
if let Some(template) = self.downcast::<HTMLTemplateElement>() {
template.Content(CanGc::note()).upcast::<Node>().owner_doc()
template.Content(can_gc).upcast::<Node>().owner_doc()
} else {
document_from_node(self)
}
@ -2674,7 +2674,7 @@ impl ElementMethods for Element {
}
// Step 1.
let frag = self.parse_fragment(value, CanGc::note())?;
let frag = self.parse_fragment(value, can_gc)?;
Node::replace_all(Some(frag.upcast()), &target);
Ok(())
@ -2723,7 +2723,7 @@ impl ElementMethods for Element {
};
// Step 5.
let frag = parent.parse_fragment(value, CanGc::note())?;
let frag = parent.parse_fragment(value, can_gc)?;
// Step 6.
context_parent.ReplaceChild(frag.upcast(), context_node)?;
Ok(())