diff options
author | Yerkebulan Tulibergenov <yerkebulan@gmail.com> | 2025-02-23 14:32:13 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-02-23 22:32:13 +0000 |
commit | 47f6c50dd9aa113c80409d8f9794cfc883335c61 (patch) | |
tree | 6ee605853c2a66db689682e2e8c99c94e3f9bcee /components/script | |
parent | 678f0c9fdcab1782041317514e47e21608353e28 (diff) | |
download | servo-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.rs | 4 | ||||
-rw-r--r-- | components/script/dom/promise.rs | 6 | ||||
-rw-r--r-- | components/script/dom/testbinding.rs | 4 | ||||
-rw-r--r-- | components/script/dom/writablestream.rs | 4 |
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); |