LibWeb: Use the proper in-flight request to check if a stream is closing

This commit is contained in:
Timothy Flynn 2024-04-01 09:52:27 -04:00 committed by Alexander Kalenik
commit b6501adef8
Notes: sideshowbarker 2024-07-17 01:11:48 +09:00
3 changed files with 48 additions and 1 deletions

View file

@ -0,0 +1,19 @@
W
e
l
l
-
h
e
l
l
o
-
f
r
i
e
n
d
s
!

View file

@ -0,0 +1,28 @@
<script src="../include.js"></script>
<script>
asyncTest(done => {
const stream = new WritableStream({
write(chunk) {
return new Promise(resolve => {
println(chunk);
resolve();
});
},
});
function sendMessage(message) {
const writer = stream.getWriter();
for (const chunk of message) {
writer.ready.then(() => writer.write(chunk));
}
writer.ready.then(() => {
writer.close();
done();
});
}
sendMessage("Well-hello-friends!");
});
</script>

View file

@ -3492,7 +3492,7 @@ WebIDL::ExceptionOr<JS::NonnullGCPtr<WebIDL::Promise>> writable_stream_add_write
bool writable_stream_close_queued_or_in_flight(WritableStream const& stream)
{
// 1. If stream.[[closeRequest]] is undefined and stream.[[inFlightCloseRequest]] is undefined, return false.
if (!stream.close_request() && !stream.in_flight_write_request())
if (!stream.close_request() && !stream.in_flight_close_request())
return false;
// 2. Return true.