Chromium Code Reviews| 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 e987cedd7f85b4496a9d3cff686013165fcf546d..b9f7417af8d4b5e6efd786cb7b82508b66fd38a0 100644 |
| --- a/third_party/WebKit/Source/core/streams/WritableStream.js |
| +++ b/third_party/WebKit/Source/core/streams/WritableStream.js |
| @@ -364,6 +364,26 @@ |
| } |
| } |
| + // Functions to expose internals for ReadableStream.pipeTo. These are not |
| + // part of the standard. |
| + function isWritableStreamErrored(stream) { |
| + TEMP_ASSERT( |
| + IsWritableStream(stream), '! IsWritableStream(stream) is true.'); |
| + return stream[_state] === ERRORED; |
| + } |
| + |
| + function isWritableStreamClosingOrClosed(stream) { |
| + TEMP_ASSERT( |
| + IsWritableStream(stream), '! IsWritableStream(stream) is true.'); |
| + return stream[_state] === CLOSING || stream[_state] === CLOSED; |
| + } |
| + |
| + function getWritableStreamStoredError(stream) { |
| + TEMP_ASSERT( |
| + IsWritableStream(stream), '! IsWritableStream(stream) is true.'); |
| + return stream[_storedError]; |
| + } |
| + |
| class WritableStreamDefaultWriter { |
| constructor(stream) { |
| if (!IsWritableStream(stream)) { |
| @@ -504,6 +524,20 @@ |
| return stream[_pendingCloseRequest]; |
| } |
| + function WritableStreamDefaultWriterCloseWithErrorPropagation(writer) { |
| + const stream = writer[_ownerWritableStream]; |
| + TEMP_ASSERT(stream !== undefined, 'stream is not undefined.'); |
| + const state = stream[_state]; |
| + if (state === CLOSING || state === CLOSED) { |
| + return Promise_resolve(undefined); |
| + } |
| + if (state === ERRORED) { |
| + return Promise_reject(stream[_storedError]); |
| + } |
| + TEMP_ASSERT(state === WRITABLE, 'state is "writable".'); |
| + return WritableStreamDefaultWriterClose(writer); |
| + } |
| + |
| function WritableStreamDefaultWriterGetDesiredSize(writer) { |
| const stream = writer[_ownerWritableStream]; |
| const state = stream[_state]; |
| @@ -563,6 +597,22 @@ |
| return promise; |
| } |
| + // Functions to expose internals for ReadableStream.pipeTo. These do not |
| + // appear in the standard. |
| + function getWritableStreamDefaultWriterClosedPromise(writer) { |
| + TEMP_ASSERT( |
| + IsWritableStreamDefaultWriter(writer), |
| + 'writer is a WritableStreamDefaultWriter'); |
|
tyoshino (SeeGerritForStatus)
2017/01/24 09:52:33
period
Adam Rice
2017/01/24 10:12:09
Done.
|
| + return writer[_closedPromise]; |
| + } |
| + |
| + function getWritableStreamDefaultWriterReadyPromise(writer) { |
| + TEMP_ASSERT( |
| + IsWritableStreamDefaultWriter(writer), |
| + 'writer is a WritableStreamDefaultWriter'); |
|
tyoshino (SeeGerritForStatus)
2017/01/24 09:52:33
period
Adam Rice
2017/01/24 10:12:09
Done.
|
| + return writer[_readyPromise]; |
| + } |
| + |
| class WritableStreamDefaultController { |
| constructor(stream, underlyingSink, size, highWaterMark) { |
| if (!IsWritableStream(stream)) { |
| @@ -934,4 +984,25 @@ |
| }); |
| // TODO(ricea): Exports to Blink |
| + |
| + // Exports for ReadableStream |
| + binding.AcquireWritableStreamDefaultWriter = |
| + AcquireWritableStreamDefaultWriter; |
| + binding.IsWritableStream = IsWritableStream; |
| + binding.isWritableStreamClosingOrClosed = isWritableStreamClosingOrClosed; |
| + binding.isWritableStreamErrored = isWritableStreamErrored; |
| + binding.IsWritableStreamLocked = IsWritableStreamLocked; |
| + binding.WritableStreamAbort = WritableStreamAbort; |
| + binding.WritableStreamDefaultWriterCloseWithErrorPropagation = |
| + WritableStreamDefaultWriterCloseWithErrorPropagation; |
| + binding.getWritableStreamDefaultWriterClosedPromise = |
| + getWritableStreamDefaultWriterClosedPromise; |
| + binding.WritableStreamDefaultWriterGetDesiredSize = |
| + WritableStreamDefaultWriterGetDesiredSize; |
| + binding.getWritableStreamDefaultWriterReadyPromise = |
| + getWritableStreamDefaultWriterReadyPromise; |
| + binding.WritableStreamDefaultWriterRelease = |
| + WritableStreamDefaultWriterRelease; |
| + binding.WritableStreamDefaultWriterWrite = WritableStreamDefaultWriterWrite; |
| + binding.getWritableStreamStoredError = getWritableStreamStoredError; |
| }); |