tree: 1343976bc1da650a0ad2b625ac1a3bc578241bc5 [path history] [tgz]
  1. BUILD.gn
  2. ByteLengthQueuingStrategy.js
  3. CountQueuingStrategy.js
  4. OWNERS
  5. ReadableStream.js
  6. ReadableStreamController.h
  7. ReadableStreamOperations.cpp
  8. ReadableStreamOperations.h
  9. ReadableStreamOperationsTest.cpp
  10. README.md
  11. Stream.cpp
  12. Stream.h
  13. Stream.idl
  14. UnderlyingSourceBase.cpp
  15. UnderlyingSourceBase.h
  16. UnderlyingSourceBase.idl
third_party/WebKit/Source/core/streams/README.md

This directory contains files from several different implementations and implementation strategies:

Traditional ReadableStream Implementation

  • ReadableByteStream.{cpp,h,idl}
  • ReadableByteStreamReader.{h,idl}
  • ReadableStream.{cpp,h,idl}
  • ReadableStreamImpl.h
  • ReadableStreamReader.{cpp,h,idl}
  • ReadableStreamReaderTest.cpp
  • ReadableStreamTest.cpp
  • UnderlyingSource.h

These files implement the current streams spec, plus the more speculative ReadableByteStream, to the extent necessary to support Fetch response bodies. They do not support author-constructed readable streams. They use the normal approach for implementing web-exposed classes, i.e. IDL bindings with C++ implementation. They are now deprecated and will be removed shortly. See https://crbug.com/613435.

V8 Extras ReadableStream Implementation

  • ByteLengthQueuingStrategy.js
  • CountQueuingStrategy.js
  • ReadableStream.js
  • ReadableStreamController.h
  • UnderlyingSourceBase.{cpp,h,idl}
  • bindings/core/v8/ReadableStreamOperations.{cpp,h}

These files implement V8 extras based ReadableStream which is currently used.

Old streams

  • Stream.{cpp,h,idl}

These files support an old streams spec. They should eventually be removed, but right now XMLHttpRequest and Media Streams Extension code in Blink still depends on them.