Propagate CanGc arguments through callers in constructors (#35541)

Signed-off-by: Auguste Baum <auguste.apple@gmail.com>
This commit is contained in:
Auguste Baum 2025-02-20 17:17:45 +01:00 committed by GitHub
parent 5465bfc2af
commit 863d2ce871
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
260 changed files with 986 additions and 603 deletions

View file

@ -255,7 +255,7 @@ impl TransmitBodyConnectHandler {
});
let handler =
PromiseNativeHandler::new(&global, Some(promise_handler), Some(rejection_handler));
PromiseNativeHandler::new(&global, Some(promise_handler), Some(rejection_handler), CanGc::note());
let realm = enter_realm(&*global);
let comp = InRealm::Entered(&realm);
@ -704,8 +704,12 @@ impl Callback for ConsumeBodyPromiseHandler {
result_promise: self.result_promise.clone(),
});
let handler =
PromiseNativeHandler::new(&global, Some(promise_handler), Some(rejection_handler));
let handler = PromiseNativeHandler::new(
&global,
Some(promise_handler),
Some(rejection_handler),
can_gc,
);
let realm = enter_realm(&*global);
let comp = InRealm::Entered(&realm);
@ -792,6 +796,7 @@ fn consume_body_with_promise<T: BodyMixin + DomObject>(
&object.global(),
promise_handler.take().map(|h| Box::new(h) as Box<_>),
Some(rejection_handler),
can_gc,
);
// We are already in a realm and a script.
read_promise.append_native_handler(&handler, comp, can_gc);