|
@@ -302,14 +302,16 @@ WebIDL::ExceptionOr<void> readable_stream_reader_generic_release(ReadableStreamG
|
|
|
// 3. Assert: stream.[[reader]] is reader.
|
|
|
VERIFY(stream->reader().ptr() == &reader);
|
|
|
|
|
|
+ auto& realm = stream->realm();
|
|
|
+
|
|
|
// 4. If stream.[[state]] is "readable", reject reader.[[closedPromise]] with a TypeError exception.
|
|
|
- auto exception = TRY(JS::TypeError::create(stream->realm(), "Released readable stream"sv));
|
|
|
+ auto exception = TRY(JS::TypeError::create(realm, "Released readable stream"sv));
|
|
|
if (stream->is_readable()) {
|
|
|
- WebIDL::reject_promise(stream->realm(), *reader.closed_promise_capability(), exception);
|
|
|
+ WebIDL::reject_promise(realm, *reader.closed_promise_capability(), exception);
|
|
|
}
|
|
|
// 5. Otherwise, set reader.[[closedPromise]] to a promise rejected with a TypeError exception.
|
|
|
else {
|
|
|
- reader.set_closed_promise_capability(WebIDL::create_rejected_promise(stream->realm(), exception));
|
|
|
+ reader.set_closed_promise_capability(WebIDL::create_rejected_promise(realm, exception));
|
|
|
}
|
|
|
|
|
|
// 6. Set reader.[[closedPromise]].[[PromiseIsHandled]] to true.
|
|
@@ -374,11 +376,13 @@ void readable_stream_default_reader_read(ReadableStreamDefaultReader& reader, Re
|
|
|
// https://streams.spec.whatwg.org/#abstract-opdef-readablestreamdefaultreaderrelease
|
|
|
WebIDL::ExceptionOr<void> readable_stream_default_reader_release(ReadableStreamDefaultReader& reader)
|
|
|
{
|
|
|
+ auto& realm = reader.realm();
|
|
|
+
|
|
|
// 1. Perform ! ReadableStreamReaderGenericRelease(reader).
|
|
|
TRY(readable_stream_reader_generic_release(reader));
|
|
|
|
|
|
// 2. Let e be a new TypeError exception.
|
|
|
- auto e = TRY(JS::TypeError::create(reader.realm(), "Reader has been released"sv));
|
|
|
+ auto e = TRY(JS::TypeError::create(realm, "Reader has been released"sv));
|
|
|
|
|
|
// 3. Perform ! ReadableStreamDefaultReaderErrorReadRequests(reader, e).
|
|
|
readable_stream_default_reader_error_read_requests(reader, e);
|
|
@@ -1437,6 +1441,8 @@ Optional<double> writable_stream_default_writer_get_desired_size(WritableStreamD
|
|
|
// https://streams.spec.whatwg.org/#writable-stream-default-writer-release
|
|
|
WebIDL::ExceptionOr<void> writable_stream_default_writer_release(WritableStreamDefaultWriter& writer)
|
|
|
{
|
|
|
+ auto& realm = writer.realm();
|
|
|
+
|
|
|
// 1. Let stream be writer.[[stream]].
|
|
|
auto stream = writer.stream();
|
|
|
|
|
@@ -1447,7 +1453,7 @@ WebIDL::ExceptionOr<void> writable_stream_default_writer_release(WritableStreamD
|
|
|
VERIFY(stream->writer().ptr() == &writer);
|
|
|
|
|
|
// 4. Let releasedError be a new TypeError.
|
|
|
- auto released_error = MUST_OR_THROW_OOM(JS::TypeError::create(writer.realm(), "Writer's stream lock has been released"sv));
|
|
|
+ auto released_error = MUST_OR_THROW_OOM(JS::TypeError::create(realm, "Writer's stream lock has been released"sv));
|
|
|
|
|
|
// 5. Perform ! WritableStreamDefaultWriterEnsureReadyPromiseRejected(writer, releasedError).
|
|
|
writable_stream_default_writer_ensure_ready_promise_rejected(writer, released_error);
|