| Index: third_party/WebKit/Source/core/streams/WritableStream.js
|
| diff --git a/third_party/WebKit/Source/core/streams/WritableStream.js b/third_party/WebKit/Source/core/streams/WritableStream.js
|
| index 5780fa88199cb853fdd13747ecc6750acf741d83..e987cedd7f85b4496a9d3cff686013165fcf546d 100644
|
| --- a/third_party/WebKit/Source/core/streams/WritableStream.js
|
| +++ b/third_party/WebKit/Source/core/streams/WritableStream.js
|
| @@ -306,13 +306,16 @@
|
| TEMP_ASSERT(state === CLOSING || state === ERRORED,
|
| 'state is "closing" or "errored"');
|
|
|
| + const writer = stream[_writer];
|
| if (state === CLOSING) {
|
| - v8.resolvePromise(stream[_writer][_closedPromise], undefined);
|
| + if (writer !== undefined) {
|
| + v8.resolvePromise(writer[_closedPromise], undefined);
|
| + }
|
| stream[_state] = CLOSED;
|
| - } else {
|
| + } else if (writer !== undefined) {
|
| TEMP_ASSERT(state === ERRORED, 'state is "errored"');
|
| - v8.rejectPromise(stream[_writer][_closedPromise], stream[_storedError]);
|
| - v8.markPromiseAsHandled(stream[_writer][_closedPromise]);
|
| + v8.rejectPromise(writer[_closedPromise], stream[_storedError]);
|
| + v8.markPromiseAsHandled(writer[_closedPromise]);
|
| }
|
|
|
| if (stream[_pendingAbortRequest] !== undefined) {
|
|
|