tree: 1f5f6b37325bc6c64c0707b4a7b43fc2a7e6109a [path history] [tgz]
  1. ByteLengthQueuingStrategy.js
  2. CountQueuingStrategy.js
  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. ReadableStreamImpl.h
  13. ReadableStreamReader.cpp
  14. ReadableStreamReader.h
  15. ReadableStreamReader.idl
  16. ReadableStreamReaderTest.cpp
  17. ReadableStreamTempStub.js
  18. ReadableStreamTest.cpp
  20. Stream.cpp
  21. Stream.h
  22. Stream.idl
  23. UnderlyingSource.h

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

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.