feat: add CanGc argument to Error::to_jsval (#36014)

* feat: add CanGc argument to Error::to_jsval

Signed-off-by: Arya Nair <aryaajitnair@gmail.com>

* feat: pass CanGc to gen_type_error

Signed-off-by: Arya Nair <aryaajitnair@gmail.com>

* fix: linting issues

Signed-off-by: Arya Nair <aryaajitnair@gmail.com>

---------

Signed-off-by: Arya Nair <aryaajitnair@gmail.com>
This commit is contained in:
Arya Nair 2025-03-18 03:59:41 +05:30 committed by GitHub
parent 6807a6e532
commit 94d12de7fd
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
11 changed files with 45 additions and 24 deletions

View file

@ -67,7 +67,7 @@ impl Callback for ReadLoopFulFillmentHandler {
.release(can_gc)
.expect("Releasing the reader should succeed");
rooted!(in(*cx) let mut v = UndefinedValue());
err.to_jsval(cx, &global, v.handle_mut());
err.to_jsval(cx, &global, v.handle_mut(), can_gc);
(self.failure_steps)(cx, v.handle());
return;
},
@ -87,7 +87,7 @@ impl Callback for ReadLoopFulFillmentHandler {
Err(err) => {
// If chunk is not a Uint8Array object, call failureSteps with a TypeError and abort these steps.
rooted!(in(*cx) let mut v = UndefinedValue());
err.to_jsval(cx, &global, v.handle_mut());
err.to_jsval(cx, &global, v.handle_mut(), can_gc);
(self.failure_steps)(cx, v.handle());
self.reader
.release(can_gc)
@ -387,6 +387,7 @@ impl ReadableStreamDefaultReader {
cx,
&self.global(),
error.handle_mut(),
can_gc,
);
// Perform ! ReadableStreamDefaultReaderErrorReadRequests(reader, e).
@ -557,6 +558,7 @@ impl ReadableStreamDefaultReaderMethods<crate::DomTypeHolder> for ReadableStream
cx,
&self.global(),
error.handle_mut(),
can_gc,
);
return Promise::new_rejected(&self.global(), cx, error.handle(), can_gc);
}