aboutsummaryrefslogtreecommitdiffstats
path: root/components/script
diff options
context:
space:
mode:
authorYerkebulan Tulibergenov <yerkebulan@gmail.com>2025-02-23 14:32:13 -0800
committerGitHub <noreply@github.com>2025-02-23 22:32:13 +0000
commit47f6c50dd9aa113c80409d8f9794cfc883335c61 (patch)
tree6ee605853c2a66db689682e2e8c99c94e3f9bcee /components/script
parent678f0c9fdcab1782041317514e47e21608353e28 (diff)
downloadservo-47f6c50dd9aa113c80409d8f9794cfc883335c61.tar.gz
servo-47f6c50dd9aa113c80409d8f9794cfc883335c61.zip
refactor: add CanGc as argument to Promise::reject (#35622)
Signed-off-by: Yerkebulan Tulibergenov <yerkebulan@gmail.com>
Diffstat (limited to 'components/script')
-rw-r--r--components/script/body.rs4
-rw-r--r--components/script/dom/promise.rs6
-rw-r--r--components/script/dom/testbinding.rs4
-rw-r--r--components/script/dom/writablestream.rs4
4 files changed, 9 insertions, 9 deletions
diff --git a/components/script/body.rs b/components/script/body.rs
index 675655b5c74..2d01184ad1b 100644
--- a/components/script/body.rs
+++ b/components/script/body.rs
@@ -600,8 +600,8 @@ impl Callback for ConsumeBodyPromiseRejectionHandler {
/// Continuing Step 4 of <https://fetch.spec.whatwg.org/#concept-body-consume-body>
/// Step 3 of <https://fetch.spec.whatwg.org/#concept-read-all-bytes-from-readablestream>,
// the rejection steps.
- fn callback(&self, cx: JSContext, v: HandleValue, _realm: InRealm, _can_gc: CanGc) {
- self.result_promise.reject(cx, v);
+ fn callback(&self, cx: JSContext, v: HandleValue, _realm: InRealm, can_gc: CanGc) {
+ self.result_promise.reject(cx, v, can_gc);
}
}
diff --git a/components/script/dom/promise.rs b/components/script/dom/promise.rs
index 0a586b5ba6f..f84bba403ae 100644
--- a/components/script/dom/promise.rs
+++ b/components/script/dom/promise.rs
@@ -218,7 +218,7 @@ impl Promise {
unsafe {
val.to_jsval(*cx, v.handle_mut());
}
- self.reject(cx, v.handle());
+ self.reject(cx, v.handle(), CanGc::note());
}
pub(crate) fn reject_error(&self, error: Error) {
@@ -226,12 +226,12 @@ impl Promise {
let _ac = enter_realm(self);
rooted!(in(*cx) let mut v = UndefinedValue());
error.to_jsval(cx, &self.global(), v.handle_mut());
- self.reject(cx, v.handle());
+ self.reject(cx, v.handle(), CanGc::note());
}
#[allow(unsafe_code)]
#[cfg_attr(crown, allow(crown::unrooted_must_root))]
- pub(crate) fn reject(&self, cx: SafeJSContext, value: HandleValue) {
+ pub(crate) fn reject(&self, cx: SafeJSContext, value: HandleValue, _can_gc: CanGc) {
unsafe {
if !RejectPromise(*cx, self.promise_obj(), value) {
JS_ClearPendingException(*cx);
diff --git a/components/script/dom/testbinding.rs b/components/script/dom/testbinding.rs
index ee439347f6e..d97b6bbb9f2 100644
--- a/components/script/dom/testbinding.rs
+++ b/components/script/dom/testbinding.rs
@@ -984,8 +984,8 @@ impl TestBindingMethods<crate::DomTypeHolder> for TestBinding {
p.resolve(cx, v, can_gc);
}
- fn PromiseRejectNative(&self, cx: SafeJSContext, p: &Promise, v: HandleValue) {
- p.reject(cx, v);
+ fn PromiseRejectNative(&self, cx: SafeJSContext, p: &Promise, v: HandleValue, can_gc: CanGc) {
+ p.reject(cx, v, can_gc);
}
fn PromiseRejectWithTypeError(&self, p: &Promise, s: USVString) {
diff --git a/components/script/dom/writablestream.rs b/components/script/dom/writablestream.rs
index 190b3630dba..21d0f6938a6 100644
--- a/components/script/dom/writablestream.rs
+++ b/components/script/dom/writablestream.rs
@@ -263,7 +263,7 @@ impl WritableStream {
let write_requests = mem::take(&mut *self.write_requests.borrow_mut());
for request in write_requests {
// Reject writeRequest with storedError.
- request.reject(cx, stored_error.handle());
+ request.reject(cx, stored_error.handle(), can_gc);
}
// Set stream.[[writeRequests]] to an empty list.
@@ -287,7 +287,7 @@ impl WritableStream {
// Reject abortRequest’s promise with storedError.
pending_abort_request
.promise
- .reject(cx, stored_error.handle());
+ .reject(cx, stored_error.handle(), can_gc);
// Perform ! WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream).
self.reject_close_and_closed_promise_if_needed(cx);