refactor: add CanGc as argument to Promise::resolve (#35616)

Signed-off-by: Yerkebulan Tulibergenov <yerkebulan@gmail.com>
This commit is contained in:
Yerkebulan Tulibergenov 2025-02-23 04:12:21 -08:00 committed by GitHub
parent adb831eefe
commit 0383ba9a5b
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
57 changed files with 330 additions and 294 deletions

View file

@ -178,20 +178,20 @@ impl DefaultTeeReadRequest {
}
}
/// <https://streams.spec.whatwg.org/#read-request-close-steps>
pub(crate) fn close_steps(&self) {
pub(crate) fn close_steps(&self, can_gc: CanGc) {
// Set reading to false.
self.reading.set(false);
// If canceled_1 is false, perform ! ReadableStreamDefaultControllerClose(branch_1.[[controller]]).
if !self.canceled_1.get() {
self.readable_stream_default_controller_close(&self.branch_1);
self.readable_stream_default_controller_close(&self.branch_1, can_gc);
}
// If canceled_2 is false, perform ! ReadableStreamDefaultControllerClose(branch_2.[[controller]]).
if !self.canceled_2.get() {
self.readable_stream_default_controller_close(&self.branch_2);
self.readable_stream_default_controller_close(&self.branch_2, can_gc);
}
// If canceled_1 is false or canceled_2 is false, resolve cancelPromise with undefined.
if !self.canceled_1.get() || !self.canceled_2.get() {
self.cancel_promise.resolve_native(&());
self.cancel_promise.resolve_native(&(), can_gc);
}
}
/// <https://streams.spec.whatwg.org/#read-request-error-steps>
@ -215,8 +215,8 @@ impl DefaultTeeReadRequest {
/// Call into close of the default controller of a stream,
/// <https://streams.spec.whatwg.org/#readable-stream-default-controller-close>
fn readable_stream_default_controller_close(&self, stream: &ReadableStream) {
stream.get_default_controller().close();
fn readable_stream_default_controller_close(&self, stream: &ReadableStream, can_gc: CanGc) {
stream.get_default_controller().close(can_gc);
}
/// Call into error of the default controller of stream,