Index: third_party/WebKit/Source/core/streams/ReadableStream.js |
diff --git a/third_party/WebKit/Source/core/streams/ReadableStream.js b/third_party/WebKit/Source/core/streams/ReadableStream.js |
index 80580c76e90ad7b5de7c6650a4fea08d785c4911..3036baec34c867269f8a296a1496c2b8c4118d3d 100644 |
--- a/third_party/WebKit/Source/core/streams/ReadableStream.js |
+++ b/third_party/WebKit/Source/core/streams/ReadableStream.js |
@@ -269,7 +269,13 @@ |
const desiredSize = |
binding.WritableStreamDefaultWriterGetDesiredSize(writer); |
if (desiredSize === null) { |
- writableError(binding.getWritableStreamStoredError(dest)); |
+ // This can happen if abort() is queued but not yet started when |
+ // pipeTo() is called. In that case [[storedError]] is not set yet, and |
+ // we need to wait until it is before we can cancel the pipe. Once |
+ // [[storedError]] has been set, the rejection handler set on the writer |
+ // closed promise above will detect it, so all we need to do here is |
+ // nothing. |
+ return; |
} |
if (desiredSize <= 0) { |
thenPromise( |