diff options
Diffstat (limited to 'chromium/third_party/blink/renderer/core/streams/transferable_streams.h')
-rw-r--r-- | chromium/third_party/blink/renderer/core/streams/transferable_streams.h | 31 |
1 files changed, 25 insertions, 6 deletions
diff --git a/chromium/third_party/blink/renderer/core/streams/transferable_streams.h b/chromium/third_party/blink/renderer/core/streams/transferable_streams.h index 3c75195255e..dbace5ce634 100644 --- a/chromium/third_party/blink/renderer/core/streams/transferable_streams.h +++ b/chromium/third_party/blink/renderer/core/streams/transferable_streams.h @@ -7,6 +7,8 @@ #ifndef THIRD_PARTY_BLINK_RENDERER_CORE_STREAMS_TRANSFERABLE_STREAMS_H_ #define THIRD_PARTY_BLINK_RENDERER_CORE_STREAMS_TRANSFERABLE_STREAMS_H_ +#include <memory> + #include "third_party/blink/renderer/core/core_export.h" namespace blink { @@ -14,25 +16,42 @@ namespace blink { class ExceptionState; class MessagePort; class ReadableStream; +class ReadableStreamTransferringOptimizer; class ScriptState; +class UnderlyingSourceBase; class WritableStream; +class WritableStreamTransferringOptimizer; // Creates the writable side of a cross-realm identity transform stream, using // |port| for communication. |port| must be entangled with another MessagePort // which is passed to CreateCrossRealmTransformReadable(). // Equivalent to SetUpCrossRealmTransformWritable in the standard: // https://streams.spec.whatwg.org/#abstract-opdef-setupcrossrealmtransformwritable -CORE_EXPORT WritableStream* CreateCrossRealmTransformWritable(ScriptState*, - MessagePort* port, - ExceptionState&); +CORE_EXPORT WritableStream* CreateCrossRealmTransformWritable( + ScriptState*, + MessagePort* port, + std::unique_ptr<WritableStreamTransferringOptimizer> optimizer, + ExceptionState&); // Creates the readable side of a cross-realm identity transform stream. |port| // is used symmetrically with CreateCrossRealmTransformWritable(). // Equivalent to SetUpCrossRealmTransformReadable in the standard: // https://streams.spec.whatwg.org/#abstract-opdef-setupcrossrealmtransformreadable -CORE_EXPORT ReadableStream* CreateCrossRealmTransformReadable(ScriptState*, - MessagePort* port, - ExceptionState&); +CORE_EXPORT ReadableStream* CreateCrossRealmTransformReadable( + ScriptState*, + MessagePort* port, + std::unique_ptr<ReadableStreamTransferringOptimizer> optimizer, + ExceptionState&); + +// Creates a ReadableStream that is identical to the concatenation of +// a ReadableStream created with `source1` and a ReadableStream created with +// `source2`. +// The implementation is optimized with an assumption that `source2` is (much) +// longer than `source1`. +CORE_EXPORT ReadableStream* CreateConcatenatedReadableStream( + ScriptState*, + UnderlyingSourceBase* source1, + UnderlyingSourceBase* source2); } // namespace blink |