tree: 323024659f454ff4e8a02b72708ed413217bcd9d [path history] [tgz]
  1. ByteLengthQueuingStrategy.js
  2. CountQueuingStrategy.js
  3. OWNERS
  4. ReadableByteStream.cpp
  5. ReadableByteStream.h
  6. ReadableByteStream.idl
  7. ReadableByteStreamReader.h
  8. ReadableByteStreamReader.idl
  9. ReadableStream.cpp
  10. ReadableStream.h
  11. ReadableStream.js
  12. ReadableStreamController.h
  13. ReadableStreamImpl.h
  14. ReadableStreamOperations.cpp
  15. ReadableStreamOperations.h
  16. ReadableStreamOperationsTest.cpp
  17. ReadableStreamReader.cpp
  18. ReadableStreamReader.h
  19. ReadableStreamReader.idl
  20. ReadableStreamReaderTest.cpp
  21. ReadableStreamTempStub.js
  22. ReadableStreamTest.cpp
  23. README.md
  24. Stream.cpp
  25. Stream.h
  26. Stream.idl
  27. UnderlyingSource.h
  28. UnderlyingSourceBase.cpp
  29. UnderlyingSourceBase.h
  30. 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 currently shipping in Chrome.

V8 Extras ReadableStream Implementation

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

These files are an in-progress implementation of the current streams spec, using V8 extras. They allow author construction. We hope eventually to have these supercede the traditional ReadableStream implementation, but the work to build Fetch response body streams on top of this is ongoing.

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.