aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom/writablestreamdefaultwriter.rs
diff options
context:
space:
mode:
authorYerkebulan Tulibergenov <yerkebulan@gmail.com>2025-02-23 04:12:21 -0800
committerGitHub <noreply@github.com>2025-02-23 12:12:21 +0000
commit0383ba9a5b940de76823462ebc1b95298ea50903 (patch)
tree23c9539a19729c7ec065dbe6cfb9bb2843a2721c /components/script/dom/writablestreamdefaultwriter.rs
parentadb831eefea3b98369dab56fa1ef4f668900974c (diff)
downloadservo-0383ba9a5b940de76823462ebc1b95298ea50903.tar.gz
servo-0383ba9a5b940de76823462ebc1b95298ea50903.zip
refactor: add CanGc as argument to Promise::resolve (#35616)
Signed-off-by: Yerkebulan Tulibergenov <yerkebulan@gmail.com>
Diffstat (limited to 'components/script/dom/writablestreamdefaultwriter.rs')
-rw-r--r--components/script/dom/writablestreamdefaultwriter.rs23
1 files changed, 14 insertions, 9 deletions
diff --git a/components/script/dom/writablestreamdefaultwriter.rs b/components/script/dom/writablestreamdefaultwriter.rs
index 2a01f5347c6..1a76a23d241 100644
--- a/components/script/dom/writablestreamdefaultwriter.rs
+++ b/components/script/dom/writablestreamdefaultwriter.rs
@@ -63,7 +63,12 @@ impl WritableStreamDefaultWriter {
/// <https://streams.spec.whatwg.org/#set-up-writable-stream-default-writer>
/// Continuing from `new_inherited`, the rest.
- pub(crate) fn setup(&self, cx: SafeJSContext, stream: &WritableStream) -> Result<(), Error> {
+ pub(crate) fn setup(
+ &self,
+ cx: SafeJSContext,
+ stream: &WritableStream,
+ can_gc: CanGc,
+ ) -> Result<(), Error> {
// If ! IsWritableStreamLocked(stream) is true, throw a TypeError exception.
if stream.is_locked() {
return Err(Error::Type("Stream is locked".to_string()));
@@ -87,7 +92,7 @@ impl WritableStreamDefaultWriter {
} else {
// Otherwise, set writer.[[readyPromise]] to a promise resolved with undefined.
// Note: new promise created in `new_inherited`.
- self.ready_promise.borrow().resolve_native(&());
+ self.ready_promise.borrow().resolve_native(&(), can_gc);
}
// Set writer.[[closedPromise]] to a new promise.
@@ -116,11 +121,11 @@ impl WritableStreamDefaultWriter {
if stream.is_closed() {
// Set writer.[[readyPromise]] to a promise resolved with undefined.
// Note: new promise created in `new_inherited`.
- self.ready_promise.borrow().resolve_native(&());
+ self.ready_promise.borrow().resolve_native(&(), can_gc);
// Set writer.[[closedPromise]] to a promise resolved with undefined.
// Note: new promise created in `new_inherited`.
- self.closed_promise.borrow().resolve_native(&());
+ self.closed_promise.borrow().resolve_native(&(), can_gc);
return Ok(());
}
@@ -161,12 +166,12 @@ impl WritableStreamDefaultWriter {
*self.ready_promise.borrow_mut() = promise;
}
- pub(crate) fn resolve_ready_promise_with_undefined(&self) {
- self.ready_promise.borrow().resolve_native(&());
+ pub(crate) fn resolve_ready_promise_with_undefined(&self, can_gc: CanGc) {
+ self.ready_promise.borrow().resolve_native(&(), can_gc);
}
- pub(crate) fn resolve_closed_promise_with_undefined(&self) {
- self.closed_promise.borrow().resolve_native(&());
+ pub(crate) fn resolve_closed_promise_with_undefined(&self, can_gc: CanGc) {
+ self.closed_promise.borrow().resolve_native(&(), can_gc);
}
/// <https://streams.spec.whatwg.org/#writable-stream-default-writer-ensure-ready-promise-rejected>
@@ -493,7 +498,7 @@ impl WritableStreamDefaultWriterMethods<crate::DomTypeHolder> for WritableStream
let cx = GlobalScope::get_cx();
// Perform ? SetUpWritableStreamDefaultWriter(this, stream).
- writer.setup(cx, stream)?;
+ writer.setup(cx, stream, can_gc)?;
Ok(writer)
}