diff options
Diffstat (limited to 'components/script/dom/readablestreamgenericreader.rs')
-rw-r--r-- | components/script/dom/readablestreamgenericreader.rs | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/components/script/dom/readablestreamgenericreader.rs b/components/script/dom/readablestreamgenericreader.rs index 1ab03fa289f..42fe2819cb4 100644 --- a/components/script/dom/readablestreamgenericreader.rs +++ b/components/script/dom/readablestreamgenericreader.rs @@ -45,7 +45,7 @@ pub(crate) trait ReadableStreamGenericReader { // Otherwise, if stream.[[state]] is "closed", // Set reader.[[closedPromise]] to a promise resolved with undefined. let cx = GlobalScope::get_cx(); - self.set_closed_promise(Promise::new_resolved(global, cx, ())); + self.set_closed_promise(Promise::new_resolved(global, cx, (), can_gc)); } else { // Assert: stream.[[state]] is "errored" assert!(stream.is_errored()); @@ -54,7 +54,7 @@ pub(crate) trait ReadableStreamGenericReader { let cx = GlobalScope::get_cx(); rooted!(in(*cx) let mut error = UndefinedValue()); stream.get_stored_error(error.handle_mut()); - self.set_closed_promise(Promise::new_rejected(global, cx, error.handle())); + self.set_closed_promise(Promise::new_rejected(global, cx, error.handle(), can_gc)); // Set reader.[[closedPromise]].[[PromiseIsHandled]] to true self.get_closed_promise().set_promise_is_handled(); @@ -104,6 +104,7 @@ pub(crate) trait ReadableStreamGenericReader { &stream.global(), cx, error.handle(), + CanGc::note(), )); } // Set reader.[[closedPromise]].[[PromiseIsHandled]] to true. |