diff --git a/index.bs b/index.bs
index bba5a2100..c3af32ad6 100644
--- a/index.bs
+++ b/index.bs
@@ -2412,9 +2412,10 @@ nothrow>ReadableByteStreamControllerRespondInClosedState ( controller
1. Set _firstDescriptor_.[[buffer]] to ! TransferArrayBuffer(_firstDescriptor_.[[buffer]]).
1. Assert: _firstDescriptor_.[[bytesFilled]] is *0*.
1. Let _stream_ be _controller_.[[controlledReadableStream]].
- 1. Repeat the following steps while ! ReadableStreamGetNumReadIntoRequests(_stream_) > *0*,
- 1. Let _pullIntoDescriptor_ be ! ReadableByteStreamControllerShiftPendingPullInto(_controller_).
- 1. Perform ! ReadableByteStreamControllerCommitPullIntoDescriptor(_stream_, _pullIntoDescriptor_).
+ 1. If ReadableStreamHasBYOBReader(_stream_) is *true*,
+ 1. Repeat the following steps while ! ReadableStreamGetNumReadIntoRequests(_stream_) > *0*,
+ 1. Let _pullIntoDescriptor_ be ! ReadableByteStreamControllerShiftPendingPullInto(_controller_).
+ 1. Perform ! ReadableByteStreamControllerCommitPullIntoDescriptor(_stream_, _pullIntoDescriptor_).
Simon Menke,
Stephen Sugden,
Tab Atkins,
diff --git a/reference-implementation/lib/readable-stream.js b/reference-implementation/lib/readable-stream.js
index 390b56ff6..c8092dfd6 100644
--- a/reference-implementation/lib/readable-stream.js
+++ b/reference-implementation/lib/readable-stream.js
@@ -1642,11 +1642,11 @@ function ReadableByteStreamControllerRespondInClosedState(controller, firstDescr
assert(firstDescriptor.bytesFilled === 0, 'bytesFilled must be 0');
const stream = controller._controlledReadableStream;
-
- while (ReadableStreamGetNumReadIntoRequests(stream) > 0) {
- const pullIntoDescriptor = ReadableByteStreamControllerShiftPendingPullInto(controller);
-
- ReadableByteStreamControllerCommitPullIntoDescriptor(stream, pullIntoDescriptor);
+ if (ReadableStreamHasBYOBReader(stream) === true) {
+ while (ReadableStreamGetNumReadIntoRequests(stream) > 0) {
+ const pullIntoDescriptor = ReadableByteStreamControllerShiftPendingPullInto(controller);
+ ReadableByteStreamControllerCommitPullIntoDescriptor(stream, pullIntoDescriptor);
+ }
}
}
@@ -1717,11 +1717,11 @@ function ReadableByteStreamControllerShouldCallPull(controller) {
return false;
}
- if (ReadableStreamHasDefaultReader(stream) && ReadableStreamGetNumReadRequests(stream) > 0) {
+ if (ReadableStreamHasDefaultReader(stream) === true && ReadableStreamGetNumReadRequests(stream) > 0) {
return true;
}
- if (ReadableStreamHasBYOBReader(stream) && ReadableStreamGetNumReadIntoRequests(stream) > 0) {
+ if (ReadableStreamHasBYOBReader(stream) === true && ReadableStreamGetNumReadIntoRequests(stream) > 0) {
return true;
}
diff --git a/reference-implementation/web-platform-tests b/reference-implementation/web-platform-tests
index c5ac311ff..d0c0af83d 160000
--- a/reference-implementation/web-platform-tests
+++ b/reference-implementation/web-platform-tests
@@ -1 +1 @@
-Subproject commit c5ac311ff64f38896279e1c130dce6f6d10b1f51
+Subproject commit d0c0af83d0baf95aed2c97e353a8da881abbbf8d